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

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

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

特点:

  • 线程私有,大家熟知java是支持多线程的,每个线程执行时都会有程序计数器的存在,这里的每个线程的程序计数器的独立的,也是线程安全的;如果是单核cpu,单线程的话,那么同样,当使用多线程时,通过调度器分配时间片的方式实现多线程的效果,如果第一次执行没执行完,那么也会把当前执行的程序计数器存起来,执行下一个获得时间片的程序,两次执行的程序计数器也不会相互影响
  • 永远不会内存溢出,这里是区别于,栈,堆,方法区等这些程序地址的,他们如果使用不当,都会造成内存溢出
相关推荐
IT=>小脑虎1 小时前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
alonewolf_991 小时前
JVM对象创建与内存分配机制深度剖析:从创建到回收的全流程解析
jvm
李泽辉_2 小时前
深度学习算法学习(五):手动实现梯度计算、反向传播、优化器Adam
深度学习·学习·算法
sunywz2 小时前
【JVM】(4)JVM对象创建与内存分配机制深度剖析
开发语言·jvm·python
星火开发设计2 小时前
C++ set 全面解析与实战指南
开发语言·c++·学习·青少年编程·编程·set·知识
坚持就完事了2 小时前
Linux的学习03:时间没有更新怎么解决
学习
李泽辉_2 小时前
深度学习算法学习(一):梯度下降法和最简单的深度学习核心原理代码
深度学习·学习·算法
im_AMBER3 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
YangYang9YangYan3 小时前
中专大数据技术专业学习数据分析的价值分析
大数据·学习·数据分析
testpassportcn3 小时前
Fortinet FCSS_SDW_AR-7.4 認證介紹|Fortinet Secure SD-WAN 高級路由專家考試
网络·学习·改行学it