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