1-JVM基础

2020-04-25  本文已影响0人  最怕的其实是孤单

1-JVM基础

java源码文件,通过javac 转换成class文件。

找到.java文件

词法分析器

tokens流

语法分析器

语义分析器

字节码生成器

转成.class文件

JVM运行时划分的区域:

程序最小单位是进程(数据不安全进程内的数据会被该进程内所有的线程共享),进程包含多个线程。

线程是进程最小的执行单位。

栈:只要符合栈结构,都遵循先进后出的原则

JAVA 对象内存布局

对象头:

Mark Word:一系列的标记为(哈希码,分代年龄,锁状态标志等)64位系统:8字节

Class Pointer:指向对象对应的类元数据的内存地址 64位系统:8字节

Length数组对象特有:数组长度 4字节

实例数据:

包含了对象的所有成员变量,大小由各个变量类型决定

boolean和byte:1字节

short和char:2字节

int和float:4字节

long和double:8字节

reference:8字节(64位系统)

对齐填充:

为了保证对象的大小为8字节的整数倍,会进行填充字节
赵小胖个人博客

上一篇 下一篇

猜你喜欢

热点阅读