jvm调优
文章平均质量分 81
taoy86
这个作者很懒,什么都没留下…
展开
-
垃圾回收器学习之Full GC和CMS GC的区别
针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种:Partial GC:并不收集整个GC堆的模式Young GC:只收集young gen的GCOld GC:只收集old gen的GC。只有CMS的concurrent collection是这个模式。Mixed GC:收集整个young gen以及部分old gen的GC。只有G1有这个模式。HotSpot VM里其它非并发GC的触发条件复杂一些,不过大致的原理与上面说的其实一样。当然也总有例外。Parallel Scaveng转载 2021-01-22 11:10:15 · 2014 阅读 · 0 评论 -
promotion failed和concurrent mode failure
CMS并行GC收集器是大多数JAVA服务应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个最让人头痛的问题:promotion failed该问题是在进行Minor GC时,Survivor Space放不下,对象只能放入老年代,而此时老年代也放不下造成的。(promotion failed时老年代CMS还没有机会进行回收,又放不下转移到老年代的对象,因此会出现下一个问题concurrent mode failure,需要stop-the-wold 降级为GC-Serail转载 2021-01-21 22:28:24 · 948 阅读 · 0 评论 -
finalize() 原理
finalize 方法的作用是:如果对象在进行可达性分析后发现没有与 GC Roots 相连接的引用链,那他将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行 finalize 方法。注意:当对象没有覆盖 finalize 方法,或者 finalize 方法已经被虚拟机调用过,虚拟机将这两种情况都视为 “没有必要执行”。也就是说,finalize 方法只会被执行一次。如果这个对象被判定为有必要执行 finalize 方法,那么这个对象将会放置在一个叫做 F-Queue 的队列之中,转载 2020-12-08 11:19:54 · 872 阅读 · 0 评论 -
YoungGC 停顿超长时间
译者著:其实本文的中心意思非常简单,没有耐心的读者建议直接拉到最后看结论部分,有兴趣的读者可以详细阅读一下。原文发表于Linkedin Engineering,作者 Zhenyun Zhuang是Linkedin的一名Staff Software Engineer,联合作者Cuong Tran是Linkedin的一名Sr. Staff Engineer。在我们的生产环境中,我们不断发现一些运行在J...转载 2018-03-30 14:26:08 · 12908 阅读 · 0 评论