jvm中程序计数器

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

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

相关推荐
C++、Java和Python的菜鸟4 分钟前
第1章 集合高级
java·jvm·python
骑士雄师6 小时前
java面试题:jvm ,mybatis
java·jvm·mybatis
源分享17 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
JAVA96517 天前
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的
java·jvm·面试
伶俜6617 天前
鸿蒙原生应用实战(十八)ArkUI 记账本:SQLite 账单 + 图表统计 + 分类管理
jvm·sqlite·harmonyos
IronMurphy17 天前
多线程问!
java·jvm·spring
unique17 天前
AI Coding 采集方案探索
jvm·人工智能·oracle
cfm_291418 天前
JVM GC日志解析
jvm
不良使18 天前
鸿蒙PC迁移:使用Electron`logseq-master-ohos` 鸿蒙适配全记录
jvm·electron·harmonyos