程序计数器
1.程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。
2.程序计数器处于线程独占区。
3.如果线程执行的是Java方法,这个计数器记录的是正在执行的虚拟机字节码的地址。如果正在执行的是 native方法,这个计数器的值为undifined。
4.此区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemeryError情况的区域。
public void main(string[] args) {
int a = 10;
int b = 20;
if(a<b){
printf(a);
} else {
printf(b);
}
}
比如:有一个线程 对上面代码 从上向下 执行,执行到 if(a<b) 这个位置时,他被CPU切换了,失去了CPU资源,他只能等待,这时,此线程就会在自己的程序计数器中记录当前的运行位置,然后等到此线程又夺得CPU资源时,次线程就会去程序计数器中找运行的位置,这样就能从断掉的位置继续向下执行了。