【JVM】了解JVM规范中的虚拟机结构

目录

JVM规范的主要内容

1)字节码指令集(相当于中央处理器CPU)

JVM指令分类

2)Class文件的格式

3)数据类型和值

4)运行时数据区

5)栈帧

6)特殊方法

7)类库


JVM规范的主要内容

1)字节码指令集(相当于中央处理器CPU)

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码 (opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(operand)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。

操作码一列中的T就跟泛型一样,虚拟机根据不同的数据类型会把T替换掉,提供不同的指令。

JVM指令分类

1、加载和存储指令 2、算术指令 3、类型转换指令 4.操作数栈管理指令 5.控制转移指令 6.方法调用和返回指令

2)Class文件的格式

3)数据类型和值

4)运行时数据区

5)栈帧

6)特殊方法

1、<init>:实例初始化方法,通过JVM的invokespecial指令来调用。

2、<clinit>:类或接口的初始化方法,不包含参数,返回void。

7)类库

Java虚拟机必须要对一些Java类库提供支持,否则这些类库根本无法实现,比如下面这些:

1、反射 2、加载或创建类或接口,如ClassLoader 3、连接和初始化类和接口的类 4、安全,如security 5、多线程 6、弱引用 7、异常 8、虚拟机的启动、加载、链接和初始化

相关推荐
StayInLove12 小时前
JVM 内存问题排查方法论
jvm
wuminyu12 小时前
Kafka利用sendfile与Page Cache实现高性能传输剖析
java·linux·c语言·jvm·c++
my_realmy14 小时前
Java 基础面试笔记(二):JDK、JRE、JVM、JIT 与 JAR
jvm·虚拟机·jit·特性·jre·垃圾回收机制
Nuanyt14 小时前
JUC常见核心知识梳理01 线程 并发 JMM volatile 管程 锁 synchronized
java·开发语言·网络·jvm
CodeStats14 小时前
【Java 类加载器】Java 类加载器完整体系深度拆解(中):URLClassLoader 能力剖析与继承委派辨析
java·jvm·classloader·类加载器
驭渊的小故事1 天前
多线程02
java·开发语言·jvm
CodeStats1 天前
【Java 类加载器】Java 类加载器完整体系深度拆解(上):从 JVM 启动到双亲委派模型
java·开发语言·jvm·classloader·双亲委派
CodeStats1 天前
【Java类加载器】Java 类加载器完整体系深度拆解(下):自定义加载器实战与 SPI 破坏双亲委派(MySQL 驱动揭秘)
java·开发语言·jvm·classloader·双亲委派
Nuanyt1 天前
JVM常见核心知识梳理02 类加载 字节码技术 双亲委派 Java内存模型 JMM 并发底层 volatile synchronized 常见排障与调优工具
java·开发语言·jvm
焦虑的说说1 天前
jvm知识汇总
jvm