
JVM疑难点精解
JVM疑难点记录精解,铺好每一条通往成功的路
小·恐·龙
这个作者很懒,什么都没留下…
展开
-
Java中的四种引用详解
Java的四种引用相信大家都听过Java的四种引用强、软、弱、虚,这四种的引用强度依次递减。这软弱虚分别继承了一个抽象类Reference下面我们分别看一下再谈这四种引用之前,先要明确一点,所说的情况都是对象可达的情况,如果对象不可达即对象引用已经不存在了,不论哪种引用垃圾收集器都会进行回收1.强引用强引用是使用最多、最普遍的。他就是我们经常用的引用赋值。如"Object o=new Object()"这种引用关系。这种引用只要还存在,垃圾回收器就永远不会回收被引用的对象。(死都不回收)强引原创 2022-04-27 13:42:14 · 671 阅读 · 0 评论 -
JVM通过参数指定垃圾回收器
常见垃圾回收器组合参数设定:(1.8)-XX:+UseSerialGC = Serial New (DefNew) + Serial Old小型程序。默认情况下不会是这种选项,HotSpot会根据计算及配置和JDK版本自动选择收集器-XX:+UseParNewGC = ParNew + SerialOld这个组合已经很少用(在某些版本中已经废弃)https://stackoverflow.com/questions/34962257/why-remove-support-for-parn原创 2022-03-09 18:10:56 · 842 阅读 · 0 评论 -
JVM启动调优相关参数
java -XX:+PrintCommandLineFlags HelloGC 查看程序被修改过的JVM参数(非默认值)-Xms JVM初始分配的内存 -Xmx JVM最大分配的内存 -Xmn:设置年轻代大小java -Xmn10M -Xms40M -Xmx60M -XX:+PrintCommandLineFlags -XX:+PrintGC HelloGC有关GC的信息打印的参数:Print GC PrintGCDetails PrintGCTimeStamps PrintGCCausesj.原创 2022-03-09 18:09:37 · 215 阅读 · 0 评论 -
为什么CMS不作为JDK默认垃圾回收器?CMS的常见问题
1. CMS概念CMS 是老年代垃圾回收算法,通过标记-清除的方式,=意在通过并发的方式适度减少吞吐量,减少用户线程停顿时间。2. CMS常见问题既然CMS可以并发回收垃圾,效率这么高,为什么不作为JDK的默认垃圾回收器?因为CMS存在两个问题。当出现问题时,其回收垃圾效率大打折扣。1.Memory Fragmentation(内存碎片问题)因为CMS是用的回收算法是标记清除算法,那就意味着会产生内存碎片。当内存碎片过多,导致启动单线程serial Old垃圾回收器,单线程意味着效率低。原创 2022-03-09 10:57:03 · 1325 阅读 · 0 评论