jvm中程序计数器

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

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

相关推荐
それども4 小时前
JVM MetaspaceSize 参数作用
jvm
java_upp10 小时前
JVM内存溢出和内存泄漏的区别及排查方法
jvm·内存泄漏·内存溢出
城管不管21 小时前
MySQL 慢查询完整排查
java·服务器·jvm·数据库·mysql·spring·面试
mister_guo2 天前
JVM 内存管理原理及生产配置实战:从“参数能启动”到“内存可控”
java·jvm
名字还没想好☜3 天前
Go 的 strings.Builder 实战:拼接性能、Grow 预分配与何时该用 bytes.Buffer
java·jvm·后端·golang·go
wear工程师3 天前
Java 类初始化到底何时触发?别把加载、连接和 static 执行混在一起
java·jvm
程序员雷欧3 天前
线上频繁触发各种 GC 的原因排查与处理指南
java·jvm·算法
wuminyu3 天前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
147API5 天前
Python批量生成蒸馏数据,并发、重试、幂等和断点续跑
开发语言·jvm·python
wuminyu5 天前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++