JVM之字节码文件浅析

JVM

1:JVM基础知识

  1. 什么是JVM
  2. 常见的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参数指定压缩或非压缩

你可能感兴趣的:(Java虚拟机,jvm)