尚硅谷JVM教程个人学习总结记录
一.流程简介
类加载子系统把class文件加载到内存中,生成对应的字节码对象,在方法区中对静态的属性做初始化。当执行字节码指令的时候,执行引擎就发挥作用了,按照字节码指令依次执行,包括在栈内取数据,在堆内创建对象等等。
二.类加载的过程
类加载包括加载、解析、初始化。注意类加载阶段的双亲委派机制。解析有包括了校验、准备、解析。最后进行初始化。
三.内存模型概述
类加载完成后,内存中的数据模型包括方法区、堆、栈、程序计数器、本地方法栈。
程序计数器和栈都是每个线程一份,每个栈里有多个栈针(stack frame),每个栈针有分为:
LV:local variables 局部变量表
OS:operate stack 操作数栈
DL:dynamic link 动态链接
RA:return address 方法返回地址
堆:存放对象的地方,是被多个线程所共享的,也是GC重点考虑的地方。
方法区:主要是存放类的信息、常量、域信息、方法信息等。方法区只有hotspot才有。
jvm-内存模型概述
最新推荐文章于 2021-04-18 17:34:20 发布