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

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

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

相关文章:

  • 西藏在线教育系统哪家好,培训机构为什么讲师流动大?该如何留住讲师?
  • 智能文档提取
  • 封装Springboot基础框架功能-03
  • 汽车EDI:IAC Elmdon EDI 对接指南
  • IPFoxy:什么是静态住宅IP?静态ISP代理指南
  • 【算法】高精度(string实现)
  • 宝塔面板如何删除一个站点
  • Android RecyclerView
  • 【QT教程】QT6命令行工具开发 QT命令行
  • 基于Springboot的微乐校园管理系统(有报告)。Javaee项目,springboot项目。
  • 【第6节课笔记】LagentAgentLego
  • 【ARMv8/v9 系统寄存器 4 -- ARMv8 通用寄存器详细介绍】
  • 一个月速刷leetcodeHOT100 day 01
  • Cargo - 构建 rust项目、管理依赖包
  • 内网安全-代理Socks协议路由不出网后渗透通讯CS-MSF控制上线简单总结
  • NSSCTF | [SWPUCTF 2021 新生赛]jicao
  • Redis 支持的 Java 客户端都有哪些?
  • 【JavaEE 初阶(四)】多线程进阶
  • ZOC8 for Mac v8.08.1激活版:卓越性能的SSH客户端
  • 指针(4)有点难
  • 初步了解json文件
  • 赶紧收藏!2024 年最常见 100道 Java 基础面试题(四十)
  • 初步了解Kubernetes
  • 前端工程化的基本介绍
  • linux上Redis安装使用
  • prometheus+grafana的安装与部署及优点
  • JWK和JWT 学习
  • Go 使用mqtt
  • C++ primer plus习题及解析第十二章(类和动态内存分配)
  • gdb调试功能描述