PC 寄存器(Program Counter Register):每一个线程都有自己的 PC 寄存器
Java 虚拟机栈(Java Virtual Machine Stack):每一个线程都有自己的 Java 虚拟机栈
理解:栈是先进后出;若不使每个线程都有各自的Java 虚拟机栈,那么在返回及排列上就有问题了,因为线程会抢进来执行产生冲突
例:static void main1(){
test1();
}
static void test1(){
}
static void main2(){
test2();
}
static void test2(){
}
//如果无各自的Java 虚拟机栈的话便会如下发布发生乱套
// test2()
// test1()
// main2() *抢进来了*
// main1()
本地方法栈(Native Method Stack):每一个线程都有自己的本地方法栈
//原因与虚拟机栈基本一样
堆(Heap):多个线程共享堆
方法区(Method Area):多个线程共享方法区
版权归原作者 汤键.TJ 所有, 如有侵权,请联系我们删除。