JVM(0313-0316)
1.JVM的组成
1.1 程序计数器

1.2 Java堆


总结

1.3虚拟机栈




总结


1.4方法区
方法区

常量池

运行时常量池

总结

1.5直接内存




2. 类加载器
2.1 什么是类加载器



双亲委派机制


总结

2.2类加载的执行流程

加载

验证

准备

解析

初始化


使用

卸载

3.垃圾回收
3.1 对象什么时候被垃圾回收

引用计数法


可达性分析算法


总结

3.2 JVM中的垃圾回收算法有哪些

标记清除算法(用的比较少)

标记整理法

复制算法

总结

3.3 JVM的分代回收
分代收集算法

工作机制

MinorGC,MixedGC,FullGC

总结

3.4 JVM有哪些垃圾回收器

串行垃圾收集器

并行垃圾收集器

CMS(并发)垃圾收集器


G1 垃圾收集器(重点)

Young Collection



Young Collection + Concurrent Mark(年轻代垃圾回收+并发标记)


Mixed Collection(混合垃圾回收)


总结

3.5 垃圾回收时引用的区别
强引用

软引用

弱引用

虚引用

总结

4. JVM 调优
4.1 JVM参数调优可以在哪里设置

tomcat中设置

Jar包中设置

总结

4.2 使用JVM调优的参数有哪些

设置堆空间的大小

虚拟机栈的设置

年轻代中Eden区和两个Survivor区大小比例

年轻代晋升老年代的阈值

设置垃圾回收收集器

总结

4.2 JVM调优的常用工具

jps和jstack

jmap

jstat

可视化工具 jconsole和VisualVM


总结

4.3 Java内存泄漏的排查问题




总结

4.4 CPU飙高排查问题和思路



总结
