Java虚拟机
Java虚拟机相关文档
梦醒见繁星
这个作者很懒,什么都没留下…
展开
-
Hotspot 算法细节实现
根节点枚举 迄今为止,所有收集器在根节点枚举这一步骤时都是必须暂停用户线程的,因此毫无疑问根节点枚举与之前提及的整理内存碎片一样会面临相似的“Stop The World”的困扰。现在可达性分析算法耗时最长的查找引用链的过程已经可以做到与用户线程一起并发,但根节点枚举始终还是必须在一个能保障一致性的快照中才得以进行——这里“一致性”的意思是整个枚举期间执行子系统看起来就像被冻结在某个时间点上,不会出现分析过程中,根节点集合的对象引用关系还在不断变化的情况,若这点不能满足的话,分析结果准确性也就无法保原创 2020-11-25 15:49:41 · 281 阅读 · 0 评论 -
低延迟垃圾收集器
Shenandoah收集器 Shenandoah是一款只有OpenJDK才会包含,而OracleJDK里反而不存在的收集器。Oracle仍明确拒绝在OracleJDK 12中支持Shenandoah收集器,并执意在打包OracleJDK时通过条件编译完全排除掉了Shenandoah的代码。 Shenandoah是实现一种能在任何堆内存大小下都可以把垃圾收集的停顿时间限制在十毫秒以内的垃圾收集器,该目标意味着相比CMS和G1,Shenandoah不仅要进行并发的垃圾标记,还要并发地进行对象清理原创 2020-11-25 15:10:19 · 118 阅读 · 0 评论 -
经典的垃圾收集器
serial收集器 serial收集器:最基础历史最悠久的,Hotspot新生代的唯一选择,单线程工作的收集器。它不仅仅只使用一个处理器或者收集线程去完成垃圾回收,而且最主要强调是的垃圾回收时他会暂停其他工作线程,直至它结束。(迄今为止它仍是Hotspot客户端模式下的默认新生代收集器) 特点:内存消耗最小,单核处理器或者处理器核心数较少时具有最高的单线程收集效率。 ParNew收集器 ParNew收集器:实质上是serial收集器多线程并行版,其中参数,算法,stop the wor原创 2020-11-24 17:56:00 · 119 阅读 · 0 评论