JVM内核解读

本文介绍了Java虚拟机(JVM)的基本结构与启动流程。详细解释了PC寄存器、方法区、Java堆和Java栈的功能及作用。此外,还讨论了这些内存区域之间的交互方式。

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.每一个方法调用创建一个帧,并压栈

 

 3.堆栈方法交互

转载于:https://www.cnblogs.com/sz-zzm/p/5229405.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值