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

JVM--Hotspot Architecture 详解

一、Java Virtual Machine (JVM)概述

Java Virtual Machine 虚拟机 (JVM) 是一种抽象的计算机。JVM本身也是一个程序,但是对于编写在其中执行的程序来说,它看起来像一台机器。对于特定的操作系统,每个 JVM 实现都将 Java 编程指令转换为在本地操作系统上运行的指令和命令。这样,Java程序就实现了平台独立性。第一个JVM的实现就是Hotspot

二、Hotspot Architecture

The HotSpot JVM的逻辑结构图如下:
在这里插入图片描述

Hotspot虚机机主要的组件包括the classloader(类加载器), the runtime data areas(运行时数据区), and the execution(执行引擎)

1、 the runtime data areas(运行时数据区)

1、1 The pc Register (program counter registers )程序计数寄存器

JVM可以支持同时多线程运行,每一个JVM线程都会有它自己的pc Register ,pc Register 中存储的其实就是当前被执行的代码的地址。如果一个方法(method)不是native方法,那么pc Register 中存储的其实就是当前被执行的代码的地址,如果一个方法(method)是native方法,那么pc Register 是无值的

1、2 Heap(堆)

在JVM中,有一个区域被叫做Heap(堆),该区域被所有的JVM线程所共有,所有的java类的实例对象( class instances)和数组(arrays)的内存申请都会被分配(allocated)在这个区域中。

1、3 Java Virtual Machine Stacks(栈)

每一个JVM线程都会有一个私有的栈(private Java Virtual Machine stack),与该线程一同被创建出来。

1、4 Method Area (方法区)

在JVM中,有一个区域被叫做Method Area(方法区),该区域被所有的JVM线程所共有。

1、5 Run-Time Constant Pool ()

http://www.lryc.cn/news/165072.html

相关文章:

  • ThreadLocal功能实现
  • Linux编辑器-vim使用
  • 自助式数据分析平台:JVS智能BI功能介绍(二)数据集管理
  • 《5G技术引领教育信息化新革命》
  • cmake学习过程记录
  • Vue3、Vite使用 html2canvas 把Html生成canvas转成图片并保存,以及填坑记录
  • centos yum源配置(CentOS7 原生 yum 源修改为阿里 yum 源)
  • linux————ansible
  • 初识Java 8-1 接口和抽象类
  • 微信小程序音频后台播放功能
  • NotePad——xml格式化插件xml tools在线安装+离线安装
  • 图书管理系统 数据结构先导课暨C语言大作业复习 | JorbanS
  • python 爬虫的开发环境配置
  • 技术架构图是什么?和业务架构图的区别是什么?
  • 数据增强
  • 【Unity】2D 对话模块的实现
  • laravel安装初步使用学习 composer安装
  • 【VS插件】VS code上的Remote - SSH
  • TensorFlow 02(张量)
  • 513. 找树左下角的值
  • 量化:基于支持向量机的择时策略
  • 成功解决Selenium 中116版本的chromedriver找不到问题
  • PYQT常用组件--方法汇总
  • Linux系统编程(一):文件 I/O
  • OSM+three.js打造3D城市
  • 02JVM_垃圾回收GC
  • ARM Linux DIY(八)USB 调试
  • 编程小白的自学笔记十四(python办公自动化创建、复制、移动文件和文件夹)
  • MySQL使用Xtrabackup备份到AWS存储桶
  • (高阶)Redis 7 第11讲 BIGKEY 优化篇