首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    虚拟机11.JVM_方法

    虚拟机11.JVM_方法 ENTER TITLE JVM工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用 如何 观察内存释放情况、集合类检查、对象树 上面这些工具都提供了强大的功能,但是总的来说一般分为以下几类功能 堆信息查看 ? 在我们进行的时候,不可能用眼睛去跟踪所有系统变化,依赖快照功能,我们就可以进行系统两个不同运行时刻,对象(或类、线程等)的不同,以便快速找到问题 举例说,我要检查系统进行垃圾回收以后,是否还有该收回的对象被遗漏下来的了 分配给Java虚拟机的内存愈多,系统剩余的资源就越少,因此,当系统内存固定时,分配给Java虚拟机的内存越多,那么,系统总共能够产生的线程也就越少,两者成反比的关系。 9,但是发生时间非常的长,应该是影响不大。但是对于非web应用的中间件服务, 这个设置很要不得, 可能导致很严重延迟效果.

    1.1K60发布于 2018-03-15
  • 来自专栏飞鸟的专栏

    Java虚拟机

    Java虚拟机是一种在许多应用程序中广泛使用的技术,因为它提供了一个跨平台的运行环境。但是,如果不对虚拟机进行适当的,它可能会导致应用程序的性能下降或崩溃。 在本文中,我们将探讨Java虚拟机的一些基本原则、常见的技术和示例。1.基本原则在进行Java虚拟机之前,需要了解一些基本原则。 持续监测:在进行之后,您需要持续监测应用程序的性能,以确保工作得到了预期的效果。实验:在进行之前,最好在测试环境中进行实验,以确定哪些技术对您的应用程序最有效。 2.技术下面介绍一些常见的Java虚拟机技术:堆大小调:堆是Java虚拟机用于存储对象的内存区域。如果堆太小,可能会导致OutOfMemoryError异常。 可以通过Java虚拟机参数-Xms和-Xmx来设置堆的初始大小和最大大小。垃圾回收:垃圾回收是Java虚拟机自动管理内存的一种机制。如果垃圾回收时间过长,可能会导致应用程序的性能下降。

    36610编辑于 2023-04-04
  • 来自专栏DT乱“码”

    java虚拟机虚拟机

    在面试中经常会被面试官问到JVM的内存模型,GC回收机制和有没有做过JVM的问题。其实这种问题怎么说呢?你会不会,答得上来答不上来都不影响你进行实际项目开发的操作。 接下来我们讲一下JAVA虚拟机! 说到JVM,就需要理解JVM的内存模型,因为JVM就是一个逻辑上的计算机,所以它必须得有内存分配。没有内存的计算机我没见过,见过的也算是坏的。 那么GC是怎么回收内存空间的,怎么做才能让GC更好的回收内存,这里其实就是JVM的啦。根据对象的生命周期,一个对象从new,到被使用,再到无用,完成自己生命的过程都是需要使用堆内存的。 那这个和JVM有什么关系呢? 还有一个GC,是根据程序运行日志设置JVM的初始化内存大小,找到一个平衡,合理的使用内存,既不分配过大,也足够使用,这是为物理机节省内存空间,这里我都就不多说了,初级JVM优化水平。

    1K20发布于 2021-08-24
  • 来自专栏java和python

    Java虚拟机的面试准备(二)什么是,如何

    目录 工具 下载jar包 执行代码并且启动jar包 什么是 为什么 为什么在进行垃圾回收的时候,要停止用户线程 什么情况会发生full gc 如何解决这种情况的full gc 工具 下载 jar包 这个阿里巴巴的jvm的工具,这个就是一个jar包,只要下载下来,执行这个jar包就可以了 Arthas启动的前提是要启动你的java项目,因为Arthas启动时会自动扫描机器上运行的 ,但是全局没有垃圾,但是还有对象一直创建,那么就会内存溢出 为什么 因为在进行垃圾回收的时候,会产生stw, stop the word 停止用户线程,就是一个时间只能有一个线程执行,当进行垃圾回收的时候 刚开始的运行时数据区的大小为 full gc 的原因是 老年区的垃圾多了,放不进去了,所以就得full gc,full gc 一般是很长的时间还会有,如果很短时间就一次,那么就有问题了,我们就需要 这种情况不可以,我们就需要 如何解决这种情况的full gc 减少老年区的大小,增加伊甸园区和幸存区的大小。

    39320发布于 2021-09-14
  • 来自专栏crmeb

    9 个 Java 性能技巧,YYDS!

    在我们学习特定的 Java 编程性能之前,先来探讨一些通用的技巧。1. 在明确必要之前别急着优化这可能是最重要的性能优化技巧之一。你应该遵循常见的最佳实践做法并在案例中高效地应用它。 常见的通用技巧到此结束。接下来让我们仔细看看一些特定于 Java 的技巧。5. 使用 StringBuilder 以编程方式连接字符串在 Java 中有很多不同的选项来连接字符串。 所以,最后,这段代码在日志文件中写入 “This is a test0 1 2 3 4 5 6 7 8 9” 。 Apache Commons StringUtils.Replace 而不是 String.replace一般来说,String.replace 方法可以正常工作,并且效率很高,尤其是在你使用 Java 9 thistest.replace(“test”, “simple test”);// with thisStringUtils.replace(test, “test”, “simple test”);9.

    47540编辑于 2022-07-07
  • 来自专栏Java后端技术栈cwnait

    Java 9 中的 GC 基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM GC,Java 9中默认使用G1。 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来

    79840发布于 2019-08-02
  • 来自专栏朝雨忆轻尘

    Java虚拟机(六):JVM工具

    jconsole使用jvm的扩展机制获取并展示虚拟机中运行的应用程序的性能和资源消耗等信息。 直接在jdk/bin目录下点击jconsole.exe即可启动,界面如下: ? VisualVM 简介 VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序(Java VisualVM 是javajdk自带的最牛逼的工具了吧,也是我平时使用最多工具,几乎涉及了jvm的方方面面。 第三方工具 MAT MAT是什么? gcviewer GCViewer也是一款分析小工具,用于可视化查看由Sun / Oracle, IBM, HP 和 BEA Java 虚拟机产生的垃圾收集器的日志,gcviewer个人感觉显示 的界面比较乱没有

    85830发布于 2019-06-19
  • 来自专栏java一日一条

    Java 9 中的 GC 基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来 G1提供了丰富的基于不同目的的可调的参数,列表如下: ?

    72020发布于 2018-09-14
  • 来自专栏为数不多的Android技巧

    Android性能优化之虚拟机

    众所周知,我们的Android App运行在Java虚拟机之上,而Java是一门带GC的语言。 在虚拟机进行垃圾回收的时候,要做一件很形象的事叫做STW(stop the world);也就是说,为了回收那些不再使用的对象,虚拟机必须要停止所有的线程来进行必要的工作。 垃圾回收机制是虚拟机的一部分,因此,我们先从Zygote进程的启动过程谈起。 = 0) { return; } 这个函数相当之长,不过都是解析虚拟机启动的参数,比如堆大小等等;探究largeHeap 这篇文章对一些重要的参数做了说明,这些参数对虚拟机非常重要,后面我们会见到 解析参数完毕之后,最终调用JNI_CreateJavaVM来真正创建Java虚拟机。这个接口是Android虚拟机定义的三个接口这一,dalvik能切换到art很大程度上与这个有关。

    2.5K10发布于 2018-09-05
  • 来自专栏朝雨忆轻尘

    Java虚拟机(五):JVM命令

    虽然jvm成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们 ,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 7031 5156480 <constantPoolCacheKlass> 8: 73627 1767048 java.lang.String 9: 例如, -J-Xmx512m 则指定运行 jhat 的Java虚拟机使用的最大堆内存为 512 MB. 如果需要使用多个JVM启动参数,则传入多个 -Jxxxxxx. 一般情况,会down到客户端用工具来分析 jstack jstack用于生成java虚拟机当前时刻的线程快照。

    68630发布于 2019-06-19
  • 来自专栏程序员的成长之路

    JVM(JAVA虚拟机及原理

    表现为:java.lang.OutOfMemoryError:PermGenspace 通常由于持久代设置过小,动态加载了大量Java类而导致溢出,解决办法唯有将参数 -XX:MaxPermSize 大 (-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容; 非稳定参数(-XX),此类参数各个JVM实现会有所不同,将来可能会不被支持,需要慎重使用; JVM服务参数实战 SurvivorRatio=6 -XX:MaxPermSize=256m -XX:ParallelGCThreads=8 -XX:MaxTenuringThreshold=0 -XX:+UseConcMarkSweepGC 说明 4G MEM, JDK 1.6.X 参数方案: -server -XX:PermSize=196m -XX:MaxPermSize=196m -Xmn320m -Xms768m -Xmx1024m 说明

    90730发布于 2019-03-19
  • 来自专栏架构驿站

    Java虚拟机 CMS GC 解析

    本文主要以 CMS GC 为核心,简要解析有关在基于CMS GC 策略下进行 Java 虚拟机的最佳实践建议。涉及常见关键症状、堆空间以及 GC Log。 3、近期规划 我们都知道,性能是一个持久的过程,针对我们自己的业务场景所规划的函数模型,例如:P 的表现值由(x、y、z、...) 所以,如果需要解决根本问题,则只能以阶段性规划为导向局部因素调整来满足当前项目周期内的业务痛点。 2、在进行时,尽可能每次只调整其中一个性能因子,观测及记录每一次的优化结果,必要时进行恢复。 至此,关于 Java虚拟机 CMS GC 解析相关内容本文到此为止,大家有什么疑问、想法及建议,欢迎留言沟通。

    90430编辑于 2021-12-09
  • 来自专栏架构师之旅

    Java9中的GC基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM GC,Java 9中默认使用G1。 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来

    86870发布于 2018-01-30
  • 来自专栏嵌入式与Linux那些事

    Linux 性能工具的 9 张图

    它们展示了:Linux 可观察性工具、 Linux 静态性能分析工具、 Linux 基准测试工具、 Linux 工具和Linux sar。 性能观察工具: 静态性能工具 性能压测工具: 性能工具 sar perf-tools 追踪工具 BPF性能工具:

    32521编辑于 2024-07-05
  • 来自专栏架构驿站

    Java 虚拟机之 CMS GC 解析

    本文主要以 CMS GC 为核心,简要解析有关在基于 CMS GC 策略下进行 Java 虚拟机的最佳实践建议。涉及常见关键症状、堆空间以及 GC Log。 3、近期规划     我们都知道,性能是一个持久的过程,针对我们自己的业务场景所规划的函数模型,例如:P 的表现值由(x、y、z、...) 所以,如果需要解决根本问题,则只能以阶段性规划为导向局部因素调整来满足当前项目周期内的业务痛点。       2、在进行时,尽可能每次只调整其中一个性能因子,观测及记录每一次的优化结果,必要时进行恢复。      至此,关于 Java虚拟机 CMS GC 解析相关内容本文到此为止,大家有什么疑问、想法及建议,欢迎留言沟通。

    1K60发布于 2021-11-25
  • 来自专栏allsmallpi博客

    java虚拟机性能监控及原则

    (复制)算法: Serial算法(单线程) 并行算法 并发算法   JVM会根据机器的硬件配置对每个内存代选择适合的回收算法,比如,如果机器多于1个核,会对年轻代选择并行算法,关于选择细节请参考JVM文档 在CPU负载不足的同时,偶尔会有用户反映请求的时间过长,我们意识到必须对程序及JVM进行。 这个我问题毫无疑问是没有答案的,否则也就不会有。 一切都是为了这一步,,在之前,我们需要记住下面的原则: 1、多数的Java应用不需要在服务器上进行GC优化; 2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题; 3 真正熟练的使用GC,是建立在多次进行GC监控和的实战经验上的,进行监控和的一般步骤为: 1,监控GC的状态 使用各种JVM工具,查看当前日志,分析当前JVM参数设置,并且分析当前堆内存快照和

    62710发布于 2021-02-25
  • 来自专栏程序小小事

    JVM虚拟机监控及性能实战

    注意:我在这里查看了远程机器的hosts,发现其配有一些其他的IP,将其删除后能够联通

    52900编辑于 2025-03-04
  • 来自专栏程序小小事

    JVM虚拟机监控及性能实战

    45810编辑于 2025-01-17
  • 来自专栏朝雨忆轻尘

    Java虚拟机(七):JVM案列

    Eclispe启动优化 概述    什么是jvm呢? jvm就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合理的地方给予改进。 本文主要是通过分析eclipse gc日志为例来示例如何根据gc日志来分析jvm内存而进行,像根据关闭eclipse启动项、关闭各种校验等措施来优化eclipse本文不再阐述,网上有很多,本次测试的 主要是针对年轻代进行内存回收比较频繁,耗时短;full gc 会对整个堆内存进行回城,耗时长,因此一般尽量减少full gc的次数 通过两张图非常明显看出gc日志构成: young gc 日志 Full GC日志 启动 参数详解  -server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize

    81530发布于 2019-06-19
  • 来自专栏chenchenchen

    SQL之性能

    针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。 本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

    2.3K30发布于 2019-12-03
领券