jvm中程序计数器

每个线程都有一个程序计数器,用来记录当前线程运行到哪里了。他是一块较小的内存区域,用于存储当前线程正在执行的字节码指令的地址(行号)。当线程执行 Java 方法时,计数器记录的是正在执行的虚拟机字节码指令的地址;当执行本地(Native)方法时,计数器的值为空(Undefined)。

线程占用的cpu是会被抢走的(也就是线程会被切换出去,暂停了),当被抢走的时候,计数器的值会被保存,当线程又切换回来的时候,需要知道当前线程运行到哪里了。程序计数器是 JVM 规范中唯一没有规定 OutOfMemoryError 情况的内存区域,它的生命周期与线程相同,随着线程的创建而创建,随着线程的结束而销毁。

相关推荐
未若君雅裁9 小时前
JVM面试篇总结
java·jvm·面试
kk哥889910 小时前
C++ 对象 核心介绍
java·jvm·c++
Jaising66613 小时前
PF4J 日志类冲突与 JVM 类加载机制
jvm·后端
2301_7737303115 小时前
系统编程—线程
jvm
葛二蛋15 小时前
深入ClassLoader:从双亲委派到SPI
jvm
MicoZone16 小时前
jvm(更新中)
jvm
东华万里17 小时前
Release 版本禁用 assert:NDEBUG 的底层逻辑与效率优化
java·jvm·算法
听风吟丶20 小时前
Java NIO 深度解析:从核心组件到高并发实战
java·开发语言·jvm
a努力。21 小时前
小红书Java面试被问:ThreadLocal 内存泄漏问题及解决方案
java·jvm·后端·算法·面试·架构
4***149021 小时前
高并发时代的“确定性”挑战——为何稳定性正在成为 JVM 的下一场核心竞争?
java·开发语言·jvm