首页 > 代码库 > JVM基本结构1
JVM基本结构1
1.JVM启动流程
java xxx ---> 装载配置 ---->根据配置寻找JVM.dll --->初始化JVM获得JNIEvn接口 --->找到main方法并运行
| | |
根据当前路径 JVM.dll为JVM JNIEvn为JVM的接口,findClass
和系统版本寻找 的主要实现 等操作通过它实现
jvm.cfg
2.JVM的内存结构
3、pc寄存器
1)每个线程拥有一个pc寄存器
2) 在线程创建时创建
3)指向下一条指令的地址
4)运行本地方法时,PC的值为undefined
4、方法区
1)保存加载类的一些信息
--类型的常量池
--字段、方法的信息
--方法字节码
2)通常和永久区(perm)关联在一起
5、java堆
--和程序开发密切相关
--应用系统中的对象主要保存在堆中
--所有线程共享java堆
--对分代GC来说,堆也是分代的
--GC的主要工作区间
6、java栈
--线程私有的
--栈是有一系列帧组成(因此java栈也叫作帧栈)
--帧保存一个方法的局部变量(函数的参数和局部变量)、操作数栈、常量池指针
--每一次方法调用创建一个帧,并压栈
7、java栈 ——操作数栈
--java中没有寄存器,所有的参数传递都用操作数栈
JVM基本结构1