java 内存区域 (程序计数器)

   是一块较小的内存空间,可以看做是当前线程所执行的字节码行号的指示器;

   字节码解释器 工作时,通过改变计数器的值 选取下一条执行的字节码指令;(一些基本功能都需要依赖计数器来完成 如 分支 循环 跳转 异常处理 线程恢复 等)

   java虚拟机多线程是通过线程间轮流切换来分配给处理器执行时间;在确定时间节点,一个处理器(一核)只会执行一个线程的指令;为保证 线程切换 回来后能恢复到原执行位置,各个线程间计数器互相不影响,独立存储(称之为 线程私有 的内存);

   当线程正执行java程序时:  程序计数器 记录正在执行的虚拟机字节指令地址;执行 native 方法,计数器值为空 undefined;

   次内存区域是唯一一个java虚拟机规范中没有规定任何 OutOfMemoryError 情况的内存区域;

原文地址:https://www.cnblogs.com/fish-in-sky/p/6481156.html