线程共享
堆和方法区,堆是所有对象和数组都在堆上进行分配,是虚拟机中最大的一块。
方法区存储类的信息常量池,静态变量方法数据,方法代码等。
线程独享
虚拟机栈,每个线程都有一个私有栈,存有一个栈帧,存储局部变量表,操作栈,动态链接,方法出口等信息。服务于Java方法。
本地方法栈,服务于虚拟机调用native方法。
pc寄存器:程序计数器,当前线程所执行的字节码的行号指示器。字节码解析器是通过改变计数器的值,选取下一条需要执行的字节码指令。分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器完成。
网友评论