247篇原创文章 78.7w次阅读 3大内容板块
关于我们 →

最新发布

8
连载中 12/20

排查四件套:jstack、jmap、jstat、jcmd 的实战分工

jstack 看线程在干什么,jmap 看堆里装了什么,jstat 看运行时在变什么,jcmd 是统一入口。四把刀各管一段,配合着用没有查不动的现场。

#jstack#jmap#jstat#jcmd#排查工具
2026-09-16 · 0 阅读 · 0 评论 · 0 赞
连载中 11/20

GC 日志:把回收过程翻译成人话

一行 GC 日志里塞着七种信息:谁触发的、收了哪、停了多久、活了哪些。加上 -Xlog 配置,再加上日志分析工具,GC 不再是只能盯监控曲线的黑盒。

#GC日志#Xlog#日志分析#GC监控#Full GC排查
2026-09-16 · 12 阅读 · 0 评论 · 0 赞
连载中 10/20

ZGC:亚毫秒停顿是怎么炼成的

百 G 大堆停顿不到一毫秒,靠的是把搬家全部挪到并发阶段——着色指针让引用自带状态,读屏障让搬运中的对象依然可访问。代价是吞吐与内存,收益是停顿与堆大小解耦。

#ZGC#着色指针#读屏障#亚毫秒停顿#分代ZGC
2026-09-15 · 7 阅读 · 0 评论 · 0 赞
连载中 9/20

G1:把堆切成 Region 之后发生了什么

G1 不再物理分代,而是把堆划成两千多个 Region,谁垃圾多先收谁——停顿时间第一次变成可设置的参数。RSet 与混合回收,是理解 G1 的两把钥匙。

#G1收集器#Region#RSet#MixedGC#停顿模型
2026-09-15 · 5 阅读 · 0 评论 · 0 赞
连载中 8/20

经典收集器:吞吐量与停顿时间的第一次分家

Parallel 追求单位时间产量最高,CMS 追求单次停顿最短——两条路线各有代价。CMS 的四阶段并发设计很优雅,碎片与并发失败的坑也为 G1 铺了路。

#CMS收集器#Parallel#吞吐量优先#延迟优先#Concurrent Mode Failure
2026-09-14 · 61 阅读 · 0 评论 · 0 赞
连载中 7/20

回收算法:清除、复制与整理的三难选择

没有完美的回收算法,只有取舍:清除省空间留碎片,复制无碎片但费内存,整理两头顾却更慢。分代收集把三种算法按对象寿命各就各位。

#垃圾回收算法#标记清除#复制算法#标记整理#分代收集
2026-09-14 · 61 阅读 · 0 评论 · 0 赞
连载中 6/20

垃圾标记:可达性分析与四种引用的分工

引用计数过不了循环引用这一关,JVM 选择了从 GC Roots 往下摸——但摸到的就都能活吗?强软弱虚四种引用各守一岗,ThreadLocal 的内存泄漏就藏在弱引用里。

#可达性分析#GC Roots#四种引用#ThreadLocal泄漏#finalize
2026-09-13 · 159 阅读 · 0 评论 · 0 赞
连载中 5/20

双亲委派:为什么类加载器要讲究先来后到

同一个 Class 文件被两个加载器加载,JVM 会当成两个不同的类——这不是 bug 是设计。三层加载器、先问爹再自己干的模型,以及那些故意打破规则的场景。

#双亲委派#类加载器#Tomcat隔离#SPI#自定义类加载器
2026-09-13 · 157 阅读 · 0 评论 · 0 赞