当前位置: 首页 > article >正文

JVM_程序计数器的作用、特点、线程私有、本地方法的概述

①. 程序计数器

  • ①. 作用 (是用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令)

  • ②. 特点(是线程私有的 、不会存在内存溢出)

  • ③. 注意:在物理上实现程序计数器是在寄存器实现的,整个cpu中最快的一个执行单元

  • ④. 它是唯一一个在java虚拟机规范中没有OOM的区域

⑤. 使用PC寄存器存储字节码指令地址有什么用呢?

  • 为什么使用PC寄存器记录当前线程的执行地址呢?
  1. 因为CPU需要不停的切换各个线程,这时候切换回来以后,就得知道接着从哪开始继续执行

  2.      2.JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令

    ⑥. PC寄存器为什么设定为线程私有?
    (为了能够准确记录各个线程正在执行的当前字节码指令地址,最好的办法自然是为每一个线程都分配一个PC寄存器)

    ⑦. 关于线程在JVM中的说明:

1.在Hotspot JVM里,每个线程都与操作系统的本地线程直接映射
(解释:当一个Java线程准备好执行以后,此时一个操作系统的本地线程也同时创建.Java线程执行终止后,本地线程也会被回收)
2.操作系统负责所有线程的安排调度到任何一个可用的CPU上。一旦本地线程初始化完毕,它就会调用Java线程中的run方法

②. 本地方法栈


    http://www.kler.cn/a/526157.html

    相关文章:

  • 新版231普通阿里滑块 自动化和逆向实现 分析
  • 【ESP32】ESP-IDF开发 | WiFi开发 | TCP传输控制协议 + TCP服务器和客户端例程
  • 信号处理以及队列
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(基础图形库实现)
  • 最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
  • ASP.NET代码审计 SQL注入篇(简单记录)
  • java求职学习day22
  • WireShark4.4.2浏览器网络调试指南:数据统计(八)
  • LeetCode题练习与总结:区间加法 Ⅱ -- 598
  • 科研绘图系列:R语言绘制散点图(scatter plot)
  • Java 大视界 -- Java 大数据在量子通信安全中的应用探索(69)
  • E. Correct Placement
  • 单词翻转(信息学奥赛一本通1144)
  • SpringBoot 原理分析
  • 智慧园区管理系统为企业提供高效运作与风险控制的智能化解决方案
  • 园区管理智能化创新引领企业效能提升与风险控制新趋势
  • LabVIEW微位移平台位移控制系统
  • 【hot100】刷题记录(7)-除自身数组以外的乘积
  • 如何构建树状的思维棱镜认知框架
  • 为什么“记住密码”适合持久化?
  • 架构知识整理与思考(其四)
  • 从零搭建一个Vue3 + Typescript的脚手架——day3
  • LeetCode:63. 不同路径 II
  • 在K8s中部署动态nfs存储provisioner
  • 基于 Redis GEO 实现条件分页查询用户附近的场馆列表
  • React第二十八章(css modules)