jvm,java 虚拟机,是java语言实现平台无关性的具体实现,是一个虚拟的计算机设备。
作为jvm笔记记录,从本节开始,记录jvm知识的点点滴滴。
以java se 7为标准,java虚拟机在执行java程序时把所管理的内存划分为若干不同的数据区域:
由于下面有些讲解的需要,先说明几个概念:
1.java方法:指程序员手动编写的方法或者java源码里的方法,主要是为了区别于native方法.
程序计数器(Program Counter Register)
直译应该是pc寄存器。
仅从功能上来说,jvm中的pc和通用计算机中的pc含义一致:用于存放下一条指令所在的地址。(出自计算机原理)
因此pc寄存器是一块很小的地方,《深入理解java虚拟机》中将其解释为当前线程所执行的字节码的行号指示器。通过改变pc寄存器的值,可以选择下一条需要执行的字节码指令。
既然是存放的指令的地址,指令有两种类型:一个是程序员手写的java方法,另一个是native方法;pc寄存器也存在两种情况:
1.正在执行的是java方法