![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM疑难点精解
JVM疑难点记录精解,铺好每一条通往成功的路
小·恐·龙
这个作者很懒,什么都没留下…
展开
-
Java中的四种引用详解
Java的四种引用 相信大家都听过Java的四种引用强、软、弱、虚,这四种的引用强度依次递减。 这软弱虚分别继承了一个抽象类Reference 下面我们分别看一下 再谈这四种引用之前,先要明确一点,所说的情况都是对象可达的情况,如果对象不可达即对象引用已经不存在了,不论哪种引用垃圾收集器都会进行回收 1.强引用 强引用是使用最多、最普遍的。他就是我们经常用的引用赋值。如"Object o=new Object()"这种引用关系。这种引用只要还存在,垃圾回收器就永远不会回收被引用的对象。(死都不回收) 强引原创 2022-04-27 13:42:14 · 620 阅读 · 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 · 774 阅读 · 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 PrintGCCauses j.原创 2022-03-09 18:09:37 · 178 阅读 · 0 评论 -
为什么CMS不作为JDK默认垃圾回收器?CMS的常见问题
1. CMS概念 CMS 是老年代垃圾回收算法,通过标记-清除的方式,=意在通过并发的方式适度减少吞吐量,减少用户线程停顿时间。 2. CMS常见问题 既然CMS可以并发回收垃圾,效率这么高,为什么不作为JDK的默认垃圾回收器?因为CMS存在两个问题。当出现问题时,其回收垃圾效率大打折扣。 1.Memory Fragmentation(内存碎片问题) 因为CMS是用的回收算法是标记清除算法,那就意味着会产生内存碎片。 当内存碎片过多,导致启动单线程serial Old垃圾回收器,单线程意味着效率低。原创 2022-03-09 10:57:03 · 1149 阅读 · 0 评论