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

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

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

特点:

  • 线程私有,大家熟知java是支持多线程的,每个线程执行时都会有程序计数器的存在,这里的每个线程的程序计数器的独立的,也是线程安全的;如果是单核cpu,单线程的话,那么同样,当使用多线程时,通过调度器分配时间片的方式实现多线程的效果,如果第一次执行没执行完,那么也会把当前执行的程序计数器存起来,执行下一个获得时间片的程序,两次执行的程序计数器也不会相互影响
  • 永远不会内存溢出,这里是区别于,栈,堆,方法区等这些程序地址的,他们如果使用不当,都会造成内存溢出
相关推荐
枫零NET22 分钟前
学习思考:一日三问(学习篇)之匹配VLAN
网络·学习·交换机
沐泽Mu1 小时前
嵌入式学习-QT-Day07
c++·qt·学习·命令模式
沐泽Mu1 小时前
嵌入式学习-QT-Day09
开发语言·qt·学习
炸毛的飞鼠1 小时前
汇编语言学习
笔记·学习
egekm_sefg1 小时前
webrtc学习----前端推流拉流,局域网socket版,一对多
前端·学习·webrtc
m0_748241702 小时前
前端学习:从零开始做一个前端开源项目
前端·学习·开源
啊哈哈哈哈哈啊哈哈3 小时前
P7——pytorch马铃薯病害识别
人工智能·深度学习·学习
sensen_kiss4 小时前
CAN201 Introduction to Networking(计算机网络)Pt.2 传输层
网络·学习·计算机网络
橘子遇见BUG4 小时前
Unity Shader学习日记 part 3 线性代数--矩阵变换
学习·线性代数·unity·矩阵·图形渲染
m0_693809385 小时前
Python——day09
python·学习