JVM
2020-11-10 18:38:09 0 举报
AI智能生成
JVM调优理论
作者其他创作
大纲/内容
JVM
类加载机制
加载
验证
准备
解析
初始化
使用
卸载
类加载器
启动类加载器
扩展类加载器
应用程序类加载器
自定义加载器
双亲委派机制
为什么要双亲委派机制?
打破双亲委派机制
JVM内存模型
JVM内存参数设置
逃逸分析
JVM三种运行模式
解释模式
编译模式
混合模式(JVM默认)
垃圾回收
JVM内存分配与回收
对象优先在Eden区分配
GC
Minor GC/Young GC
Major GC/Full GC
大对象直接进入老年代
长期存活的对象将进入老年代
对象动态年龄判断
Minor gc后存活的对象Survivor区放不下
老年代空间分配担保机制
Eden与Survivor区默认8:1:1
如何判断对象可以被回收
可达性分析算法
GC Roots根节点
常见引用类型
强引用
软引用
弱引用
虚引用
finalize()方法最终判定对象是否存活
如何判断一个类是无用的类
垃圾收集算法
标记-清除算法
复制算法
标记-整理算法
分代收集算法
垃圾收集器
serial收集器(-XX:+UseSerialGC -XX:+UseSerialOldGC)
parNew收集器(-XX:+UseParNewGC)
CMS收集器(-XX:+UseConcMarkSweepGC(old))
运作四个步骤
初始标记
并发标记
重新标记
并发清理
CMS的相关参数
G1收集器(-XX:+UseG1GC)
运作步骤
最终标记
筛选回收
特点
并行与并发
分代收集
空间整合
可预测的停顿
G1收集器参数设置
G1垃圾收集分类
YoungGC
MixedGC
Full GC
优化建议
如何选择垃圾收集器
JVM调优工具
Jmap
jstack
jvisualvm
Jinfo
jinfo -flags 22
jinfo -sysprops 22
Jstat
jstat -gc pid 最常用
jstat -gccapacity 22
jstat -gcnew 33
jstat -gcnewcapacity 33
jstat -gcold 22
jstat -gcoldcapacity 22
jstat -gcmetacapacity 23
jstat -gcutil 445
0 条评论
回复 删除
下一页