由于我们技术不很扎实,生产问题就非常的多,都是摸着石头过河,每一次故障一个血泪史,目前已经出了一本血泪史的书了。然后就去查应用的 RocketMQ 日志,看到很多消息出现 request timeout 的情况。
本篇则重点会对于分代收集器的实现进行全面详解,其中会涵盖串行收集器、并行收集器、三色标记、SATB算法、GC执行过程、并发标记、CMS收集器等知识,本篇则偏重于分析GC机制的落地实现,也就是垃圾收集器。
6.3 其他收集器适用场景4.1.2 如何产生dump文件4.1.2.1 JVM的配置文件中配置4.1.2.3 第三方可视化工具生成4.5 对比调优前后指标差异5.8.1 如何启动JConsole5.8.2 如何设置JAVA程序运行时可以被JConsolse连接分析6.4.1 -XX:+PrintFlagsInitial、-XX:+PrintFlagsFinal6.4.2 -XX:+PrintCommandLineFlags6.4.4 -XX:CMSFullGCsBeforeCompaction6.4.5 -XX:HeapDumpPath6.4.6 -XX:OnOutOfMemoryError6.4.7 XX:InitialCodeCacheSize6.4.8 -XX:+UseCodeCacheFlushing。
由于垃圾回收技术发展很快,所以这3个版本中JDK支持的垃圾回收器并不完全相同,其中CMS仅在JDK 8和JDK 11中支持,ZGC在JDK11中为实验特性,在JDK 17中为正式产品,Shenandoah在JDK 17中为正式产品,Epsilon在JDK 11和JDK 17中为实验特性。