jvm
风起尘落
我只需努力,剩下的交给时光。
展开
-
dump日志分析工具
mat :不需要安装eclipse,独立运行https://www.eclipse.org/mat/downloads.php原创 2021-01-19 20:25:10 · 1366 阅读 · 0 评论 -
三色标记的漏标问题及处理
什么是三色标记三色标记是在cms和g1中使用的垃圾追踪算法 黑色 从GCRoots开始,已扫描过它全部引用的对象,标记为黑色 灰色 扫描过对象本身,还没完全扫描过它全部引用的对象,标记为灰色 白色 还没扫描过的对象,标记为白色 所以,从GCRoots开始,顺着一直向下扫描,用可达性分析算法,最后所有的白色对象,都是垃圾对象,可以回收三色标记的漏标问题我们采用一个最简单的模型,只有三个对象 某个状态下,黑色->灰色->白色 如果转载 2020-12-14 13:56:52 · 1499 阅读 · 1 评论 -
详解cms和g1垃圾收集器
G1 垃圾收集器架构和如何做到可预测的停顿(阿里)CMS垃圾回收机制 参考:图解 CMS 垃圾回收机制原理,-阿里面试题CMS与G1的区别 参考:CMS收集器和G1收集器优缺点写这篇文章是基于阿里面试官的一个问题:众所周期,G1跟其他的垃圾回收算法差别很大,你了解G1的垃圾回收架构吗?为什么G1可以做到回收时间用户可以设定?G1垃圾回收器其实是JDK7的特性,在目前JDK10都已经...转载 2019-12-18 16:07:22 · 1393 阅读 · 1 评论 -
CMS垃圾收集器过程解析
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial mark) ...转载 2019-12-07 10:08:21 · 298 阅读 · 0 评论 -
jvm内存分配策略
对象优先在Eden区分配大多数情况下,对象在年轻代Eden区分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。 特殊情况: 逃逸分析:对于经过逃逸分析发现某个对象永远只在某个方法、线程的范围内,则这个对象会在栈上分配空间。 TLAB(本地线程分配缓存):JVM在内存新生代...原创 2019-11-13 11:12:32 · 175 阅读 · 0 评论