随笔分类 -  JVM原理与应用

摘要:大纲 1.G1的FGC可以优化的点 2.一个bug导致的FGC(Kafka发送重试 + subList导致List越来越大) 3.为什么G1的FGC比ParNew + CMS要更严重 4.FGC的一些参数及优化思路 1.G1的FGC可以优化的点 (1)FGC的基本原理 (2)遇到FGC应该怎么处理 阅读全文
posted @ 2025-01-17 23:43 东阳马生架构 阅读(181) 评论(0) 推荐(0) 编辑
摘要:大纲 1.大对象导致频繁Mixed GC的案例 2.Mixed GC到底是在优化什么(从避免到提速) 3.Mixed GC相关参数详解之堆内存分配参数 4.Mixed GC其他相关的参数详解及优化 1.大对象导致频繁Mixed GC的案例 (1)案例背景 (2)问题现场 (3)Redis缓存有什么问 阅读全文
posted @ 2025-01-16 23:39 东阳马生架构 阅读(149) 评论(0) 推荐(1) 编辑
摘要:大纲 1.5千QPS的数据报表系统发生性能抖动的优化(停顿时间太小导致新生代上不去) 2.由于产生大量大对象导致系统吞吐量降低的优化(大对象太多频繁Mixed GC) 3.YGC其他相关参数优化之TLAB参数优化 4.YGC其他相关参数优化之RSet、PLAB和大对象的处理优化 1.5千QPS的数据 阅读全文
posted @ 2025-01-15 22:00 东阳马生架构 阅读(128) 评论(0) 推荐(0) 编辑
摘要:大纲 1.TLAB的GC日志解读 2.YGC的GC日志解读 3.模拟YGC(单次GC及多次GC的不同场景) 4.打开实验选项查看YGC的详情日志信息 5.Mixed GC日志信息之初始标记过程 6.Mixed GC日志信息之混合回收过程 7.Mixed GC日志信息之Region的详细信息和标记过程 阅读全文
posted @ 2025-01-14 22:35 东阳马生架构 阅读(163) 评论(0) 推荐(0) 编辑
摘要:大纲 1.FGC的一些前置处理 2.FGC的整体流程 3.传统FGC只能串行化 + G1的FGC可以并发化 4.并行化FGC之并行标记 + 任务窃取 5.并行化FGC之跨分区压缩 + 避免对象跨分区 6.并行化FGC之更新引用位置 + 移动对象处理 7.G1新特性之字符串去重优化 8.总结G1对FG 阅读全文
posted @ 2025-01-13 21:10 东阳马生架构 阅读(184) 评论(0) 推荐(0) 编辑
摘要:大纲 1.Mixed GC混合回收是什么 2.YGC可作为Mixed GC的初始标记阶段 3.Mixed GC并发标记算法详解(一) 4.Mixed GC并发标记算法详解(二) 5.Mixed GC并发标记算法详解(三) 6.并发标记的三色标记法 7.三色标记法如何解决错标漏标问题 8.SATB如何 阅读全文
posted @ 2025-01-12 22:27 东阳马生架构 阅读(136) 评论(0) 推荐(0) 编辑
摘要:大纲 1.G1的YGC过程 2.YGC并行处理阶段的过程 3.YGC串行处理阶段的过程(一) 4.YGC串行处理阶段的过程(二) 5.整个YGC的执行流程总结 1.G1的YGC过程 (1)YGC相关的一些参数 (2)YGC和MixedGC、FGC之间的关系 (3)YGC使用的算法 + 新生代的垃圾回 阅读全文
posted @ 2025-01-11 20:26 东阳马生架构 阅读(133) 评论(0) 推荐(0) 编辑
摘要:大纲 1.G1为了提升GC的效率设计了哪些核心机制 2.G1中的记忆集是什么 3.G1中的位图和卡表 4.记忆集和卡表有什么关系 5.RSet记忆集是怎么更新的 6.DCQ机制的底层原理是怎样的 7.DCQS机制及GC线程对DCQ的处理 提升G1垃圾回收器GC效率的黑科技 G1设计了一套TLAB机制 阅读全文
posted @ 2025-01-10 21:26 东阳马生架构 阅读(175) 评论(0) 推荐(1) 编辑
摘要:大纲 1.G1的对象分配原理是怎样的 2.深入分析TLAB机制原理 3.借助TLAB分配对象的实现原理是什么 4.什么是快速分配 + 什么是慢速分配 5.大对象分配的过程 + 与TLAB的关系 6.救命的稻草—JVM的最终分配尝试 G1如何分配对象+TLAB机制+分区协调机制 G1设计了一套TLAB 阅读全文
posted @ 2025-01-09 23:10 东阳马生架构 阅读(186) 评论(0) 推荐(0) 编辑
摘要:大纲 1.G1垃圾回收器的分区(Region大小+G1分区+Region过大过小和计算) 2.Region大小的计算原理(先转字节然后确定2的n次幂再通过1左移n位) 3.新生代分区及自动扩展(新生代动态扩展机制) 4.停顿预测模型(衰减算法)保证预期停顿时间 1.G1垃圾回收器的分区(Region 阅读全文
posted @ 2025-01-08 21:57 东阳马生架构 阅读(216) 评论(1) 推荐(0) 编辑
摘要:大纲 1.每秒仅上百请求的系统为何会OOM(RPC超时时间设置过长导致QPS翻几倍) 2.Jetty服务器的NIO机制如何导致堆外内存溢出(S区太小 + 禁NIO的显式GC) 3.一次微服务架构下的RPC调用引发的OOM故障排查实践(MAT案例) 4.一次没有WHERE条件的SQL语句引发的OOM问 阅读全文
posted @ 2025-01-07 22:33 东阳马生架构 阅读(218) 评论(0) 推荐(1) 编辑
摘要:大纲 1.如何对系统的OOM异常进行监控和报警 2.如何在JVM内存溢出时自动dump内存快照 3.Metaspace区域内存溢出时应如何解决(OutOfMemoryError: Metaspace) 4.JVM栈内存溢出时应如何解决(StackOverflowError) 5.JVM堆内存溢出时应 阅读全文
posted @ 2025-01-06 19:30 东阳马生架构 阅读(162) 评论(0) 推荐(0) 编辑
摘要:大纲 1.线上系统突然由于OOM内存溢出挂掉 2.什么是内存溢出及哪些区域会发生内存溢出 3.Metaspace如何因类太多而发生内存溢出 4.无限制调用方法如何让线程的栈内存溢出 5.对象太多导致堆内存实在放不下而内存溢出 6.模拟JVM Metaspace内存溢出的场景(动态生成268个类占10 阅读全文
posted @ 2025-01-05 21:26 东阳马生架构 阅读(180) 评论(0) 推荐(0) 编辑
摘要:大纲 1.线上大促活动导致的老年代内存泄漏和FGC(MAT分析出本地缓存没处理好) 2.百万级数据误处理导致频繁FGC(大数据量加载到内存处理 + String.split()) 3.JVM运行原理和GC原理总结 4.JVM性能优化的思路和步骤 5.问题汇总 1.线上大促活动导致的老年代内存泄漏和F 阅读全文
posted @ 2025-01-04 20:30 东阳马生架构 阅读(175) 评论(0) 推荐(0) 编辑
摘要:大纲 1.如何优化每秒十万QPS的社交APP的JVM性能(增加S区大小 + 优化内存碎片) 2.如何对垂直电商APP后台系统的FGC进行深度优化(定制JVM参数模版) 3.不合理设置JVM参数可能导致频繁FGC(优化反射的软引用被每次YGC回收) 4.线上系统每天数十次FGC导致频繁卡顿的优化(大对 阅读全文
posted @ 2025-01-03 23:36 东阳马生架构 阅读(134) 评论(0) 推荐(0) 编辑
摘要:大纲 1.使用jstat了解线上系统的JVM运行状况 2.使用jmap和jhat了解线上系统的对象分布 3.如何分析JVM运行状况并合理优化 4.使用jstat分析模拟的BI系统JVM运行情况 5.使用jstat分析模拟的计算系统JVM运行情况 6.问题汇总 1.使用jstat了解线上系统的JVM运 阅读全文
posted @ 2025-01-02 23:29 东阳马生架构 阅读(309) 评论(0) 推荐(1) 编辑
摘要:大纲 1.动手模拟出频繁Young GC的场景 2.JVM的Young GC日志应该怎么看 3.代码模拟动态年龄判定规则进入老年代 4.代码模拟S区放不下部分进入老年代 5.JVM的Full GC日志应该怎么看 6.问题汇总 1.动手模拟出频繁Young GC的场景 (1)程序的JVM参数示范 (2 阅读全文
posted @ 2025-01-01 22:53 东阳马生架构 阅读(308) 评论(2) 推荐(3) 编辑
摘要:大纲 1.JVM GC导致系统突然卡死无法访问 2.什么是Young GC什么是Full GC 3.Young GC、Old GC和Full GC的发生情况 4.频繁YGC的案例(G1解决大内存YGC过慢) 5.频繁FGC的案例(YGC存活对象S区放不下) 6.问题汇总 1.JVM GC导致系统突然 阅读全文
posted @ 2024-12-31 22:58 东阳马生架构 阅读(237) 评论(0) 推荐(1) 编辑
摘要:大纲 1.G1垃圾回收器的工作原理 2.G1分代回收原理—性能为何比传统GC好 3.使用G1垃圾回收器时应如何设置参数 4.如何基于G1垃圾回收器优化性能 5.问题汇总 1.G1垃圾回收器的工作原理 (1)ParNew + CMS的组合有哪些痛点 (2)G1垃圾回收器 (3)G1如何实现垃圾回收的停 阅读全文
posted @ 2024-12-30 23:52 东阳马生架构 阅读(357) 评论(0) 推荐(2) 编辑
摘要:大纲 1.JVM的新生代垃圾回收器ParNew如何工作 2.JVM老年代垃圾回收器CMS是如何工作的 3.线上部署系统时如何设置垃圾回收相关参数 4.新生代垃圾回收参数如何优化 5.老年代的垃圾回收参数如何优化 6.问题汇总 1.JVM的新生代垃圾回收器ParNew如何工作 (1)JVM的核心运行原 阅读全文
posted @ 2024-12-29 22:04 东阳马生架构 阅读(239) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示