jvm学习笔记

叨逼叨

自己之前也看过一些关于jvm的书籍,知道jvm的内存分几个区域、一个对象从创建到销毁在这个几个区域是怎么扭转的,类加载机制是怎么样的、知道几种回收算法、也大概清楚常见垃圾回收器的基本执行过程,好像常见的oom、fullgc排查工具和步骤也清楚,应付一般的面试的话基本也ok

但是,当在工作中实际遇见几次fullgc问题的时候,反应还是很钝,理论概念还是太理论了,没很好的结合实践,不能非常快速的处理和定位根因,要知道发生线上问题的时候,处理速度至关重要; 你需要根据手头上的工具、grafana的jvm图表、告警内容、gc日志还要结合下系统qps等指标综合快速的判断分析

而fullgc不像别的日常故障一样常见,经验和熟练度自然也就没那么容易积累,所以就抓住这几次fullgc问题定位的机会回顾和演练多次排查过程,一边思考如果当时自己不是负责这个服务的、不清楚业务逻辑(也就是不清楚是否可能有周期/突发的流量等)、如果当时没有在grafana建立好jvm状态图表可以方便分析... 又得怎么去处理?现场应该怎么紧急处理、时候又如何定位根因?

后面又发现了个不错的专栏(末尾的图,强烈推荐),通过实际案例结合理论讲解,在学习的过程中跟着思考、做实验,解决了上面的疑问,也有对问题分析的基本姿势, 实操能力也得到了提升

期间,积累了一些笔记,整理到博客一方面方便分享,另一方面自己的理解和实验可能不一定对,希望交流交流


笔记


推荐学习

本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14539486.html

原文地址:https://www.cnblogs.com/mushishi/p/14539486.html