老废物乐园 瓜子的技术笔记 · Java / AI / 金融科技

G1 收集器调优实战:从 CMS 迁移的得与失

为什么要从 CMS 迁到 G1 我们在 JDK 8 上跑 CMS 跑了两年多,一直相安无事。真正推动迁移的是两件事。 第一件是碎片问题终于爆了。四月份的一个凌晨,promotion failed 触发了 Serial Old 单线程 Full GC,整个应用 STW 了 11.4 秒: 2020-0

遥望星星 遥望星星 发布于 2020-02-28

垃圾回收算法与常见收集器对比

面试官问"你们生产用哪个收集器",我答不上来 11 月中旬的一次面试,面试官问:"你们生产 JVM 用的什么垃圾收集器?为什么选它?" 我当时的回答是"默认的,没配过"。面试官点了点头没追问,但我知道这题挂了。回去之后把 GC 这块从头看了一遍,顺便把我们线上的 GC 日志翻出来分析了下,发现确实该

遥望星星 遥望星星 发布于 2019-09-24

对象真的不可达才被回收吗?finalize 与引用类型

MAT 里那个 12 万的 java.lang.ref.Finalizer 8 月初排查一个服务的老年代增长,dump 下来用 MAT 打开,Dominator Tree 里第三名是 java.lang.ref.Finalizer,12.4 万个实例,占了 210 MB。我当时看不懂这是个什么类,点

遥望星星 遥望星星 发布于 2019-08-07

GC 日志怎么读?从一行日志看懂一次 Young GC

师傅甩给我一段 GC 日志,我一个字都看不懂 上个月排查一个接口抖动的问题,师傅在机器上敲了一串命令,屏幕上刷出这么一段东西: 2018-07-05T14:23:11.482+0800: 6.291: [GC (Allocation Failure) [PSYoungGen: 524288K->43

遥望星星 遥望星星 发布于 2019-02-02