JVM
文章平均质量分 75
Leo65535
学习Java,继续学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见的垃圾回收器
JVM垃圾回收器原创 2021-06-06 20:25:12 · 277 阅读 · 0 评论 -
javap -verbose的命令使用
javap -verbose的命令使用1.要切换到class的文件里原创 2020-11-22 14:35:58 · 580 阅读 · 0 评论 -
CMS的碎片解决方案
CMS的碎片解决方案CMS是一款基于“标记-清除”算法实现的收集器,如果读者对前面这部分介绍还有印象的话,就可能想到这意味着收集结束时会有大量空间碎片产生。空间碎片过多时,将会给大对象分配带来很大麻烦,往往会出现老年代还有很多剩余空间,但就是无法找到足够大的连续空间来分配当前对象,而不得不提前触发一次Full GC的情况。为了解决这个问题,CMS收集器提供了一个-XX:+UseCMS-CompactAtFullCollection开关参数(默认是开启的,此参数从JDK 9开始废弃),用于在CMS收集器不得原创 2020-11-22 14:28:10 · 4389 阅读 · 1 评论 -
JVM虚拟机性能监控、故障处理工具
JVM虚拟机性能监控、故障处理工具jps:虚拟机进程状况工具1.jps(JVMProcess Status Tool)是其中的典型。除了名字像UNIX的ps命令之外,它的功能也和ps命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(LVMID,Local Virtual MachineIdentifier)。虽然功能比较单一,但它绝对是使用频率最高的JDK命令行工具,因为其他的JDK工具大多需要输入它查询到原创 2020-11-13 16:52:21 · 289 阅读 · 0 评论 -
JVM的Minor GC和Full GC
刚才我们已经提到了“Minor GC”,后续文中还会出现其他针对不同分代的类似名词,为避免读者产生混淆,在这里统一定义:·部分收集(Partial GC):指目标不是完整收集整个Java堆的垃圾收集,其中又分为:■新生代收集(Minor GC/Young GC):指目标只是新生代的垃圾收集。■老年代收集(Major GC/Old GC):指目标只是老年代的垃圾收集。目前只有CMS收集器会有单独收集老年代的行为。另外请注意“Major GC”这个说法现在有点混淆,在不同资料上常有不同所指,读者需按上下文原创 2020-08-10 19:32:27 · 248 阅读 · 0 评论 -
JVM学习一(JVM的内存结构和垃圾回收)
JVM学习1.JVM的内存结构JVM的内存结构分为:程序计数器,虚拟机栈,本地方法栈,方法区1程序计数器定义:Program Counter Register 程序计数器(寄存器)作用:是记住下一条jvm指令的执行地址特点:是线程私有的 不会存在内存溢1.2作用: 0: getstatic #20 // PrintStream out = S...原创 2020-03-10 20:06:33 · 310 阅读 · 0 评论 -
JVM学习二(JAVA的四种引用)
JAVA的四种引用强引用 只有所有 GC Roots 对象都不通过【强引用】引用该对象,该对象才能被垃圾回收软引用(SoftReference) 仅有软引用引用该对象时,在垃圾回收后,内存仍不足时会再次出发垃圾回收,回收软引用 对象 可以配合引用队列来释放软引用自身弱引用(WeakReference) 仅有弱引用引用该对象时,在垃圾回收时,无论内存是否充足,都会回收弱引用对象 可以配合引用...原创 2020-03-11 08:09:31 · 287 阅读 · 0 评论 -
JVM的学习博客收藏(三)
JVM的学习(三)1.JVM类加载器有哪几种JAVA类加载器包括几种2.CMS垃圾回收机制的原理CMS垃圾回收器详解3.G1垃圾回收器Java Hotspot G1 GC的一些关键技术4.CMS收集器和G1收集器CMS收集器和G1收集器5.Full GC 和 Minor GCJVM 系列文章之 Full GC 和 Minor GC...转载 2020-03-11 11:45:05 · 169 阅读 · 0 评论 -
Java对象创建的过程
Java对象创建的过程1.虚拟机在遇到一条new指令时,首先将去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否被加载、解析、和初始化过。如果没有,那么必须先执行相应的类加载过程。2.在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需要的内存等大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来3.分配完内存后,虚拟机需要将分配到的内存空间都初始化为零值(不包括对象头),如果使用TLAB,这一项工作原创 2020-06-23 14:54:57 · 267 阅读 · 1 评论
分享