JVM学习(一)--程序计数器

作用:记住下一个jvm指令的执行地址

每一行java源代码,会被编译为多行jvm指令,上文所说的执行地址就是这里的0,3,4等 ,由于执行访问特别频繁,程序计数器的底层是有寄存器来实现的

特点:

  • 线程私有,大家熟知java是支持多线程的,每个线程执行时都会有程序计数器的存在,这里的每个线程的程序计数器的独立的,也是线程安全的;如果是单核cpu,单线程的话,那么同样,当使用多线程时,通过调度器分配时间片的方式实现多线程的效果,如果第一次执行没执行完,那么也会把当前执行的程序计数器存起来,执行下一个获得时间片的程序,两次执行的程序计数器也不会相互影响
  • 永远不会内存溢出,这里是区别于,栈,堆,方法区等这些程序地址的,他们如果使用不当,都会造成内存溢出
相关推荐
拼好饭和她皆失12 分钟前
Java学习---Arrays类
java·开发语言·学习
代码游侠14 分钟前
学习笔记——GDB调试工具
linux·开发语言·笔记·学习
行走的夜17 分钟前
高质量测试用例设计:金字塔模型+系统化工作流+方法体系+改进机制
学习·测试用例
思成不止于此20 分钟前
MySQL 约束详解:保证数据完整性的核心机制
数据库·笔记·学习·mysql
九千七52622 分钟前
sklearn学习(5)线性回归和逻辑回归
人工智能·学习·机器学习·逻辑回归·线性回归·sklearn
职业码农NO.122 分钟前
架构模型:企业架构、技术架构、C4模型、TOGAF、互联网模型优缺点分析与学习
学习·架构·系统架构·软件工程
走在路上的菜鸟26 分钟前
Android学Dart学习笔记第九节 Patterns
android·笔记·学习·flutter
代码游侠1 小时前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
光头程序员1 小时前
学习笔记——vite 打包构建优化之tree shaking
笔记·学习
走在路上的菜鸟2 小时前
Android学Dart学习笔记第十一节 分支
android·笔记·学习·flutter