「译文」Java 垃圾收集参考手册(十):GC 调优工具篇 进行 GC 性能调优时, 需要明确了解, 当前的 GC 行为对系统和用户有多大的影响。有多种监控 GC 的工具和方法, 本章将逐一介绍常用的工具。 您应该已经阅读了前面的章节. JVM 在程序执行的过程中, 提供了 GC 行为的原生数据。那么, 我们就可以利用这些原生数据来生成各种报告。原生数据(raw data) 包括: 各个内存池的当前使用情况, 各个内存池的总容量, 每次 GC 暂停的持续 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(九):GC 调优基础篇 说明: Capacity: 性能, 能力, 系统容量; 文中翻译为”系统容量“; 意为硬件配置。 您应该已经阅读了前面的章节. GC 调优 (Tuning Garbage Collection) 和其他性能调优是同样的原理。初学者可能会被 200 多个 GC 参数弄得一头雾水, 然后随便调整几个来试试结果, 又或者修改几行代码来测试。其实只要参照下面的步骤,就能保证你的调优方向正确: 列出性 2016-02-06 Java #Java #JVM #GC
「译文」Java 垃圾收集参考手册(八):GC 算法总结 总结 通过本节内容的学习, 你应该对 G1 垃圾收集器有了一定了解。当然, 为了简洁, 我们省略了很多实现细节, 例如如何处理 巨无霸对象(humongous objects)。 综合来看, G1 是 HotSpot 中最先进的 ** 准产品级(production-ready)** 垃圾收集器。重要的是, HotSpot 工程师的主要精力都放在不断改进 G1 上面, 在新的 java 版本中, 2016-02-06 Java #Java #JVM #GC
「译文」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 内核, JVM 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 次数会很多, 2015-10-26 Java #Java #JVM #GC