JVM中唯一一个不会发生GC和OOM的存储区域
Posted 程序员超时空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM中唯一一个不会发生GC和OOM的存储区域相关的知识,希望对你有一定的参考价值。
PC寄存器
JVM中的PC寄存器是对物理PC寄存器的的一种抽象模拟。用来存储指向下一条指令的地址,也是即将要执行的指令代码。由执行引擎读取下一条指令。
占用内存很小,运行速度最快。线程私有。
唯一一个没有OOM的区域。
1.PC寄存器为什么会被设定为线程私有?
cpu会不停地做任务切换,这样必然导致经常中断和恢复。为了能够准确地记录各个线程正在执行的当前字节码指令地址,所以为每个线程都分配一个PC寄存器。
2.使用PC寄存器存储字节码指定地址有什么用?
CPU需要不停地切换各个线程,切换回来后,需要知道从哪继续执行。
3.为什么使用PC寄存器记录当前线程的执行地址?
JVM字节码解释器需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。
以上是关于JVM中唯一一个不会发生GC和OOM的存储区域的主要内容,如果未能解决你的问题,请参考以下文章