jvm中程序计数器

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

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

相关推荐
程序员卷卷狗2 天前
JVM 调优实战:从线上问题复盘到精细化内存治理
java·开发语言·jvm
Sincerelyplz2 天前
【JDK新特性】分代ZGC到底做了哪些优化?
java·jvm·后端
初学小白...3 天前
线程同步机制及三大不安全案例
java·开发语言·jvm
凤山老林3 天前
还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
java·开发语言·jvm·spring boot·后端·jdk
2501_938790073 天前
详解 JVM 中的对象创建过程:类加载检查、内存分配、初始化的完整流程
jvm
宸津-代码粉碎机3 天前
Java内部类内存泄露深度解析:原理、场景与根治方案(附GC引用链分析)
java·开发语言·jvm·人工智能·python
杨筱毅3 天前
【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
android·jvm·gc
東雪木3 天前
Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
java·jvm·学习
小满、4 天前
JVM 执行引擎:字节码是如何被执行的
jvm·字节码·jvm执行引擎
无敌最俊朗@4 天前
SQLite 约束 (Constraints) 面试核心知识点
java·开发语言·jvm