JVM个人杂记

JVM个人理解杂记


JVM个人杂记_第1张图片
01:
JVM属于JDK,JRE的底层,主要用于识别并加载类字节码文件,并运行。
JRE属于JDK的一部分,一般不需要开发代码,只是运行代码,使用JRE即可。
JDK是JRE+工具包,主要用于开发、编译、运行代码使用

02:
类加载机制的作用是将类的字节码文件加载进JVM运行时数据区;
过程是:
1.装载

2.链接(验证:确保加载类的数据正确。准备:为类的静态变量分配内存空间,并且初始化默认值。解析:把类的符号引用(16进制符号)转换为直接引用(类的属性等))

3.初始化。

03:
运行时数据区分为:JVM虚拟机栈、堆、方法区(又称非堆,但逻辑上属于堆)、本地方法区、程序计数器

JVM虚拟机栈:一个线程对方法的调用,先进后出的进栈出栈,里面的栈帧就是一个方法的局部变量(存储在局部变量表中)不停的进栈出栈,并在操作数栈中运算。

堆:用于存储引用数据类型,也就是对象。栈中使用对象时,指向堆得对象地址。

方法区:用于存储类的信息。

本地方法区:存储本地底层方法,虚拟机栈需要dia。

程序计数器:进行计数。调用本地方法时,使用动态链接连接

你可能感兴趣的:(JVM)