【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、虚拟机的启动、加载、链接和初始化

相关推荐
2201_761040596 分钟前
bootstrap怎么给div添加自定义的边框样式
jvm·数据库·python
weixin_5689960611 分钟前
Golang怎么用K8s Job执行一次性任务_Golang如何用Job资源运行批处理和迁移任务【操作】
jvm·数据库·python
2401_8877245021 分钟前
如何通过JDBC写入BLOB文件_setBinaryStream上传图片与大文件至数据库
jvm·数据库·python
2301_8166602124 分钟前
如何重命名数据表_Operations面板表名修改方法
jvm·数据库·python
weixin_5860614632 分钟前
Navicat导入Excel表格报错怎么跳过_忽略错误记录高级选项
jvm·数据库·python
2301_7735536244 分钟前
golang如何理解编译指示pragma_golang编译指示pragma策略
jvm·数据库·python
qq_342295821 小时前
c++字符串运算_连接、比较、输入输出等运算符重载应用
jvm·数据库·python
m0_746752301 小时前
如何生成ADDM报告_@addmrpt.sql自动数据库诊断监控工具
jvm·数据库·python
2301_814809861 小时前
如何快速查询SQL中的重复记录:GROUP BY与COUNT统计
jvm·数据库·python
m0_684501981 小时前
如何配置DG的备库延迟应用_DELAY参数实现在备库防范主库人为误操作逻辑错误
jvm·数据库·python