JVM
1:JVM基础知识
- 什么是JVM
- 常见的JVM
2:ClassFileFormat
class文件标识4个字节,cafebabe
最小版本 最大版本
常量池
当前类
父类
访问限制修饰符
接口数
属性
方法
额外属性
3:类编译-加载-初始化
hashcode
锁的信息(2位 四种组合)
GC信息(年龄)
如果是数组,数组的长度
4:JMM
new Cat()
pointer -> Cat.class
寻找方法的信息
5:对象
1:句柄池 (指针池)间接指针,节省内存
2:直接指针,访问速度快
6:GC基础知识
栈上分配
TLAB(Thread Local Allocation Buffer)
Old
Eden
老不死 - > Old
7:GC常用垃圾回收器
new Object()
markword 8个字节
类型指针 8个字节
实例变量 0
补齐 0
16字节(压缩 非压缩)
Object o
8个字节
JVM参数指定压缩或非压缩