一、运行时数据区概述

​ 运行时数据区分为:程序计数器、JVM 栈、本地方法栈、堆、方法区

3. 程序计数器

数据区 是否有GC 是否会出现 OOM 是否线程共享
程序计数器 线程独立
JVM 栈 线程独立
本地方法栈 线程独立
线程共享
方法区 线程共享

二、程序计数器

2.1 概念

​ 程序计数器是一块较小的内存空间,用来保存下一条指令的地址,它可以看作是当前线程所执行的字节码的行号指示器。

2.2 作用

​ Java 线程会映射到 CPU 具体的核上,CPU 核会不停地切换线程,程序计数器的作用就是在 CPU 核切回到当前线程的时候能够知道从哪开始继续执行

2.3 特点

  • 运行速度最快的存储区域
  • 线程私有,生命周期与线程生命周期保持一致
  • 唯一不会产生 OOM 的内存区域

相关文章: