JVM知识点梳理
2021-08-20 14:55:06 18 举报
AI智能生成
JVM知识点梳理
作者其他创作
大纲/内容
基础概念
什么是虚拟机
主流java虚拟机
JDK、JRE、JVM
JVM的内存区域
运行时数据区
线程私有
程序计数器
虚拟机栈(栈帧)
局部变量表
操作数栈
动态链接
返回地址
本地方法栈
线程共享
方法区
永久代(1.7) / 元空间(1.8)
运行时常量池
堆
直接内存
JVM中的对象
对象的创建过程
类加载
检查加载
分配内存
指针碰撞
空闲列表
分配时存在的并发问题
CAS自旋
本地线程分配缓冲TLAB
内存空间初始化
设置
对象初始化
对象的内存布局
对象头
存储对象自身的运行时数据(Mark Word)
哈希码
GC分代年龄
锁状态标识
线程持有的锁
偏向线程ID
偏向时间戳
类型指针
若对象为数组,就存在一个记录数组长度的数据
实例数据
对齐填充
对象如何访问
句柄
直接指针
对象是否存活
引用计数器
可达性分析算法
什么是GC Roots
什么是对象可达
那些对象可以作为GC Roots
对象的四大引用
强引用
软引用
弱引用
虚引用
对象的内存分配策略
栈上分配
对象是否逃逸
堆上分配
优先Eden区
大对象直接进入老年代
长期存活的对象进入老年代
对象年龄动态判定
空间分配担保
0 条评论
下一页