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 ()

相关推荐
陈小桔25 分钟前
限流算法java实现
java
黑客老李29 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
勤奋的知更鸟1 小时前
Java编程之原型模式
java·开发语言·原型模式
叶 落1 小时前
[Java 基础]数组
java·java 基础
KK溜了溜了1 小时前
JAVA-springboot log日志
java·spring boot·logback
珂朵莉MM1 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
香蕉炒肉1 小时前
Java优化:双重for循环
java·开发语言
尘土哥2 小时前
JVM 垃圾回收器 详解
jvm·垃圾回收器
黄雪超2 小时前
JVM——打开JVM后门的钥匙:反射机制
java·开发语言·jvm
有梦想的攻城狮2 小时前
spring中的@RabbitListener注解详解
java·后端·spring·rabbitlistener