JVM内核解读

JVM是Java Virtual Machine(Java虚拟机)的缩写,这里要分清的是,JVM与java语言是相对独立的,也就是说只要有符合java语言规范的虚拟机也可以运行java语言。

 

1.JVM的启动流程

2.JVM基本结构

PC寄存器:

1.每个线程拥有一个PC寄存器

2.在线程创建时创建

3.指向下一条指令的地址

4.执行本地方法时,PC的值为undefined

 

方法区:

1.保存装载的类信息

  类型的常量池

  字段,方法信息

  方法字节码

2.通常和永久区(perm)关联在一起

jdk1.6 String等常量信息置放于方法区

jdk1.7 移动到堆

 

java堆:

1.和程序开发密切相关

2.保存应用系统对象

3.所有线程共享

4.对分代GC(垃圾回收)来说,堆也是分代的

5.GC主要工作区间

 

java栈:

1.线程私有

2.由一系列帧组成(因此也称作帧栈)

3.帧保存一个方法的局部变量,操作数栈,常量池指针

4.每一个方法调用创建一个帧,并压栈

 

jvm启动流程

 3.堆栈方法交互

posted @ 2016-02-29 23:44  sz_zzm  阅读(1785)  评论(0编辑  收藏  举报