摘要:CMS收集器收集步骤: 在上一次【https://www.cnblogs.com/webor2006/p/11055468.html】中已经对CMS的垃圾收集器有了一定的理论上的了解,其中提到了CMS收集器完整的七个步骤,这一次则对每一个步骤进行一个详细了解,并会用程序来理解这七个步骤。 Phase
阅读全文
摘要:上一次【https://www.cnblogs.com/webor2006/p/11048407.html】对安全点和安全区进行了理论化的了解,接下来继续对CMS进行其它理论的了解,还是纯理论!!坚持,因为下一次就会有实践代码了~~ CMS收集器 CMS(Concurrent Mark Sweep)
阅读全文
摘要:对于之前GC垃圾收集器的学习回忆【https://www.cnblogs.com/webor2006/p/10982448.html】一下都有哪些垃圾收集器: 接下来则会对CMS这种超级复杂的一个垃圾回收器进行一个学习,相比serial收集器还是parallel收集器,CMS这种收集器无论是在处理的
阅读全文
摘要:在上一次【https://www.cnblogs.com/webor2006/p/11031563.html】学习了一个新的JVM对象晋升到老年代的参数“MaxTenuringThreshold”,它的具体作用回忆一下: 简单来说就是用来控制哪些对象的年龄超过了这个最大值就会晋升到老年代,而对于对象
阅读全文
摘要:今天会学习“MaxTenuringThreshold”这样一个新的JVM参数,编写的示例还是会基于上一次的代码,新建个类,如下: 接下来给它设置JVM的参数,具体如下: 而接下来会新增三个参数: 这个在之前已经使用过,只是木有配置到JVM参数中,回忆下: 其实就是打印出JVM的启动参数,接下来再添加
阅读全文
摘要:在上一次【https://www.cnblogs.com/webor2006/p/10990736.html】中实验了一个从新生代到老年代竞升的情况,得出一个这样的结果,回忆下: 其实对于JVM来说,它提供了相应的一些参数来指定对象达到了多少的时候直接就可以在老年代分配而不是在新生代来分配,新生代是
阅读全文
摘要:在上一节【https://www.cnblogs.com/webor2006/p/10989175.html】中已经开启GC的第一次实践,这次继续其于上一次的例子进行扩展来阐述一些其它的知识,先回顾一下上一节的代码: 其中GC参数我们配置如下: 其中对于试验代码中为啥要选用字节数组来实验其实是有原因
阅读全文
摘要:经过前面对于JVM垃圾回收学习了纯理论相关的东东,这次则要开始用代码编写大量的实验来对理论进行佐证,下面开始,先在IntelliJ IDEA工程中新建一个全新的包: 然后新建一个类: 接下来则会编写一个超级简单的程序,程序虽简单,但是通过增加一些JVM的参数可以用简单的程序来阐述JVM垃圾回收的很多
阅读全文
摘要:继续上次【https://www.cnblogs.com/webor2006/p/10740084.html】的理论继续。。有点吐血的感觉,都不知道学了这么一大堆理论有何实际意义,本身JVM就是个理论体系比较多的东东,所以理论不得不去面对,继续硬着头皮往前进。 内存结构 这个在之前的学习中都已经学习
阅读全文