一、 程序计数器

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

  • ②. 特点:①. 是线程私有的 ②. 不会存在内存溢出

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

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

解释:

  • ⑤. 使用PC寄存器存储字节码指令地址有什么用呢?
    为什么使用PC寄存器记录当前线程的执行地址呢?

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

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

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

二.、本地方法栈

  1. Native Interface本地接口

  2. 本地方法栈(Native Method Stack)
    (它的具体做法是Native Method Stack中登记native方法,在Execution Engine 执行时加载本地方法库)

  3. native方法的举例: Object类中的clone wait notify hashCode 等 Unsafe类都是native方法

JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]相关推荐

  1. JVM Runtime Data Area(运行时数据区中的堆/栈/方法区讲解)

    JVM的组成 JVM由4大部分组成:ClassLoader .Runtime Data Area .Execution Engine .Native Interface.我们这里重点讲得是Runtim ...

  2. Java #JVM(HotSpot) 运行时数据区 #程序计数器(PC寄存器)#虚拟机栈(栈帧:局部变量表、操作数栈……)#堆……

    目录 JVM中线程的说明 程序计数器(PC寄存器) 虚拟机栈 · 栈帧 ·· 局部变量表 ·· 操作数栈 ·· 动态链接 ·· 方法返回地址 ·· 本地方法栈 堆 · 查看堆的大小 · 堆的默认大小 ...

  3. java 线程栈大小配置,JVM运行时数据区详解-Stack栈(优化配置、代码样例)

    最近有段时间没有更新Netty的教程了,却发了一些其他的东西.可能有的朋友会问,难道这就完事了?不会的.两方面原因.第一.笔者也是需要工作的人,自然要完成好工作中的任务,这里面也有很多东西需要学习和研 ...

  4. JVM_03 运行时数据区 [ 虚拟机栈 ]

    一.前言 (栈并不是越大越好,越多可以防止出现StackOverflowError晚点出现,但是栈越大,也就代表着虚拟机栈是一定的,你的栈越大,别的栈就会小) 二. 什么是 Java virtual ...

  5. JVM_03 运行时数据区 [ 方法区]

    一.方法区的概述 方法区在JVM启动的时候被创建,并且它的实际的物理内存空间和Java堆区一样都可以是不连续的 | 关闭Jvm就会释放这个区域的内存 方法区时逻辑上是堆的一个组成部分,但是在不同虚拟机 ...

  6. JVM_03 运行时数据区[ 堆 ]

    一.堆的概述 堆的概述(共享|垃圾回收) ①. 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域 ②. Java堆区在JVM启动的时候即被创建,其空间大小也是确定的.是Jvm管理最大的 ...

  7. JVM之运行时数据区(方法区)

    文章目录 1. 堆.栈.方法区的交互关系 2. 方法区的理解 3.设置方法区大小与OOM 方法区OOM 4.方法区的内部结构 类型信息 域信息(成员变量) 方法信息 non-final的类变量 运行时 ...

  8. JVM运行时数据区分析

    #1.概述 整个JVM构成⾥⾯,由三部分组成:类加载器机制.运⾏时数据区.执⾏引擎. #2.JVM运行时数据区的规范 我们来聊聊这个规范怎么理解,目前运行数据区共分为了方法区.堆.虚拟机栈.本地方法栈 ...

  9. Java8 JVM运行时数据区概述 (极其详细长文)

    文章目录 运行时数据区概述 JVM中的线程说明 PC寄存器(PC Register) PC寄存器介绍 使用举例 问题:使用PC寄存器存储字节码指令地址有什么用?为什么使用PC寄存器存储? 问题:为什么 ...

最新文章

  1. HttpURLConnection获取页面源代码乱码问题
  2. Android ProgressBar 不能在Button上面显示
  3. Windows下配置Hadoop的Java开发环境以及用Java API操作HDFS
  4. c语言静态成员变量重名会怎么样,C++中静态成员函数与静态成员变量(static )...
  5. 求数列1/3到1/n之和
  6. vlan划分不能上网_VLAN工作原理
  7. vue中根据搜索内容跳转到页面指定位置
  8. sql ddl中key_SQL DDL:SQL Server中SQL DDL命令入门
  9. 数据库系统概论-第一章绪论
  10. Flightgear 编译
  11. 电商直播运营的思路流程
  12. Packet Tracer 思科模拟器入门教程 实验报告1
  13. python中def main是什么意思_Python main()函数解析
  14. 开发脚手架与自动化构建
  15. 百度云搜索引擎森林战士_002 找到你要的资料——百度网盘使用指南
  16. css3的clip-path方法裁切图片(三角形,多边形,圆,椭圆)
  17. 生物信息学测序之常见测序方法DNA文库构建
  18. 计算机视觉领域的发展趋势
  19. 强化学习蒙特卡洛3.4 | Every-visit 和 First-visit MC
  20. Semantic Segmentation--SegNet:A Deep Convolutional Encoder-Decoder Architecture..论文解读

热门文章

  1. Exception Handling Best Practices in .NET
  2. jsonpath的用法
  3. 第一次接送宝贝去幼儿园
  4. 高德地图-搜索服务-POI搜索
  5. 优化DOTTEXT之三:完善Trackback
  6. CUDA编程指南阅读笔记
  7. 2016年春季计算机应用基础,东北师范2016年春季《计算机应用基础》期末考核
  8. 【C++】语法小知识
  9. 科大星云诗社动态20201223
  10. 科大星云诗社动态20210320