java内存区域与内存溢出异常
java虚拟机运行时数据区域
程序计数器
程序计数器是当前线程所执行字节码的行号指示器,通过改变计数器的值来选取下一条要执行的字节码指令。
为保障多线程实现,在每个线程切换之后能够恢复到正常的执行位置,各条线程之间的计数器互不影响,独立存储,则这类内存区域为线程私有的内存。
如果线程执行java方法,计数器记录的是正在执行的java虚拟机字节码指令的地址;
如果线程执行的是native方法,计数器记录的值为空。
此内存区域是唯一一个在java虚拟机中没有规定任何OutOfMemoryError的区域。