「译文」Java 垃圾收集参考手册(七):Garbage First G1 – Garbage First (垃圾优先算法) G1 最主要的设计目标是:将 STW 停顿的时间和分布变成可预期以及可配置的。事实上,G1 是一款软实时垃圾收集器,也就是说可以为其设置某项特定的性能指标。可以指定:在任意 xx 毫秒的时间范围内,STW 停顿不得超过 x 毫秒。 如:任意 1 秒暂停时间不得超过 5 毫秒. Garbage-First GC 会尽力达成这个目标 (有很大的概 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(六):Concurrent Mark and Sweep Concurrent Mark and Sweep (并发标记 - 清除) CMS 的官方名称为 “Mostly Concurrent Mark and Sweep Garbage Collector”(主要并发 - 标记 - 清除 - 垃圾收集器). 其对年轻代采用并行 STW 方式的 mark-copy (标记 - 复制) 算法 , 对老年代主要使用并发 mark-sweep (标记 - 清除 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(五):Parallel GC Parallel GC (并行 GC) 并行垃圾收集器这一类组合,在年轻代使用 标记 - 复制 (mark-copy) 算法 , 在老年代使用 标记 - 清除 - 整理 (mark-sweep-compact) 算法。年轻代和老年代的垃圾回收都会触发 STW 事件,暂停所有的应用线程来执行垃圾收集。两者在执行 标记和 复制 / 整理阶段时都使用多个线程,因此得名 “(Parallel)”。通过并行 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(四):Serial GC Serial GC (串行 GC) Serial GC 对年轻代使用 mark-copy (标记 - 复制) 算法 , 对老年代使用 mark-sweep-compact (标记 - 清除 - 整理) 算法. 顾名思义,两者都是单线程的垃圾收集器,不能进行并行处理。两者都会触发全线暂停 (STW), 停止所有的应用线程。 因此这种 GC 算法不能充分利用多核 CPU。不管有多少 CPU 内核,JV 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(三):GC 算法基础篇 相关术语翻译说明: Mark, 标记; Sweep, 清除; Compact, 整理;也有人翻译为压缩,译者认为 GC 时不存在压缩这回事。 Copy, 复制;copy 用作名词时一般翻译为拷贝 / 副本,用作动词时翻译为复制。 注: 《垃圾回收算法手册》将 Mark and Sweep 翻译为: 标记 - 清扫算法;译者认为 标记 - 清除 更容易理解。 GC 算法基础 您应该已经阅读了前面 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(二):Java 中的垃圾收集 标记 - 清除 (Mark and Sweep) 是最经典的垃圾收集算法。将理论用于生产实践时,会有很多需要优化调整的地点,以适应具体环境。下面通过一个简单的例子,让我们一步步记录下来,看看如何才能保证 JVM 能安全持续地分配对象。 碎片整理 (Fragmenting and Compacting) 每次执行清除 (sweeping), JVM 都必须保证不可达对象占用的内存能被回收重用。但这 2016-01-28 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(一):垃圾收集简介 说明: 在本文中,Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”; 一般认为,垃圾回收 和 垃圾收集 是同义词。 Minor GC 翻译为: 小型 GC; 而不是 次要 GC Major GC 翻译为: 大型 GC; 而不是 主要 GC 原因在于,大部分情况下,发生在年轻代的 Minor GC 次数会很多,翻译为次要 GC 2015-10-26 Java #Java #JVM #GC