JVM
2023-09-26 13:17:49 0 举报
AI智能生成
JVM的体系结构
作者其他创作
大纲/内容
Java内存模型
基础
产生原因
内存模型概念
重排序与顺序一致性
内存模型组成
主内存
工作内存
JVM并发问题
工作内存数据一致性
指令重排序优化
内存间交互操作
交互操作流程
八种内存基本原子操作
lock(锁定)
unlock(解锁)
read(读取)
load(载入)
use(使用)
assign(赋值)
store(存储)
write(写入)
运行规则
内存操作基本操作的三个特性
原子性
可见性
有序性
先行发生原则
内存屏障
八种操作同步规则
volatile型变量
final型变量的特殊规则
syschronized的特殊规则
调优和排错
JVM参数
OOM分析
调优工具
在线调试
字节码增强技术
动态调试原理
动态调式工具-Athars
对象模型(OOP-Klass)
执行引擎
类加载
类字节码
类文件结构
常量池
访问标志
类和接口索引
字段表属性
方法表属性
属性表属性
理解字节码
javac、javap
其他语言:如kolin
类加载机制
类生命周期
加载
链接
验证:确保被加载类的正确性
准备:为类的静态变量分配变量,并将其初始化为默认值
解析:把类中的符号引用转换为直接引用
初始化
使用
卸载
类加载机制
类加载器层次
启动类加载器
扩展类加载器
应用类加载器
自定义类加载器
寻找类加载器
类的加载
命令行启动时候由JVM初始化加载
通过Class.forName方式动态加载
通过ClassLoad.loadClass()方法动态加载
JVM类加载机制
全盘委托
父类委托
缓存机制
双亲委派机制
内存结构
程序计数器
Java虚拟机栈
本地方法栈
堆
新生代(Young Generation)
Eden(伊甸园)
From Survivor(幸存者)
To Survivor
老年代(Old Generation)
方法区
直接内存
元数据内存
垃圾回收
判断一个对象是否可以被回收
引用计数算法
可达性分析算法
方法区回收
finalize()
引用类型
强引用
软引用
弱引用
虚引用
垃圾回收算法
标记-清除算法
标记-整理算法
复制算法
分代收集算法
垃圾收集器
Serial收集器
ParNew收集器
Paraallel Scavenge收集器
Serial Old收集器
Parallel Old收集器
CMS收集器
G1收集器
内存分配与回收策略
Minor GC 和 Full GC
内存分配策略
Full GC的触发条件
0 条评论
下一页