JVM现在已经属于Java大厂面试的重灾区,也是必备技能了,建议大家重点掌握。
为了方便大家更好的进阶架构,也为了让知识更系统化,这里我单独把JVM虚拟机的整个系列一并罗列于此,希望能帮助到更多的人@mikechen
完整文档,到文末获得~
JVM内存模型
这篇文章主要讲了以下几点:
- JVM堆;
- 虚拟机栈;
- 程序计数器;
- Java方法区;
- 本地方法栈;
JVM参数详细配置详解
JVM内存参数这篇详解了:
- 指定JVM的初始内存和最大内存;
- 设置新生代的内存大小;
- 启用G1垃圾收集器;
- .启用CMS垃圾收集器;
- 打印垃圾收集器的详细信息和时间戳;
上面这篇详解了常用的JVM参数,这些都是实际工作经常使用到的参数。
4种JVM垃圾回收算法详解
这篇文章主要讲了以下几点:
- 标记-清除算法(Mark and Sweep Algorithm);
- 复制算法(Copying Algorithm);
- 标记-压缩算法(Mark and Compact Algorithm)
- 分代收集算法(Generational Collection Algorithm);
以上是JVM中的四种垃圾回收算法,上面有详细的图文详解。
7种JVM垃圾收集器特点,优劣势、及使用场景
这篇文章主要讲了以下几点:
1.Serial串行收集器;
2.ParNew收集器;
3.Parallel Scavenge并行回收收集器;
4.CMS收集器-标记清除算法;
5.G1收集器;
6.G1收集器运作步骤等等;
这篇不仅把垃圾收集器分类了,还把分类单独详解了。
JVM性能调优的6大步骤详解
这篇文章主要讲了以下几点:
- 确认性能指标和问题;
- JVM性能调优方法和步骤;
- 分析GC日志;
- 选择合适的垃圾收集器;
- 调整垃圾收集器参数;
- 优化代码;
通过这篇的详解,可以很清楚知道如何做性能调优,这也是大厂经常面试的。
4大JVM性能分析工具详解
上一篇谈了JVM性能调优步骤,这篇给大家推荐JVM调优工具。
主要详解了:
- VisualVM:是一个功能强大的分析工具,支持多种插件和扩展;
- JConsole :是一个 JMX 客户端,可以监视 JVM 中的 MBean 和监控线程、内存和 CPU 使用情况等信息
- MAT:MAT 基于 Eclipse 平台开发,可以导入堆转储文件进行分析;
除了详解JVM调优工具之外,还谈了JVM内存泄漏分析。
Minor GC、Major GC、Full GC的区别
这些常见的GC还是要掌握的,这篇文章主要讲了以下几点:
- Minor GC(也称为young GC);
- Major GC(也称为Old GC);
- 分代GC;
- Full GC;
在垃圾回收的过程中,Minor GC和Major GC会频繁发生,尽可能地减少Full GC的次数。
这些GC的区别上面这篇都有全面的详解。
G1垃圾收集器深入剖析
这篇文章主要讲了以下几点:
2.G1堆内存;
3.G1回收流程;
4.G1 GC模式;
5.G1推荐用例;
ZGC垃圾收集器
这篇垃圾收集器文章详解了以下几点:
- ZGC的特征;
- ZGC的原理;
- ZGC的内存布局;
- ZGC的垃圾回收机制;
- ZGC染色指针;
- ZGC读屏障;
以上我主要从JVM内存模型、JVM垃圾回收算法、JVM性能调优方法、JVM调优工具、JVM垃圾收集器等等进行了一个完整的详解,希望这个JVM虚拟机系列能对你有所帮助!