【JVM】字节码文件的组成

1. 魔数与Class文件版本

魔数是一个用于校验字节码文件是否有效的标识,位于文件开头的前四个字节,魔数之后是次版本号和主版本号,共同构成了字节码文件的版本号。

2.常量池

常量池是字节码文件中的一个结构,包含了该类的所有常量,如数字,字符串,符号常量等。

3.访问标志

用于描述该类或接口的访问权限和属性。

4.类索引,父类索引,接口索引

分别指向该类的全限定名,父类的全限定名 和该类实现的接口列表。

5.字段表集合

包含了该类的所有字段,每个字段都有访问标志,名称,描述符和值。

6.方法表集合

包含了该类的所有方法,每个方法都有访问标志,名称,描述符和字节码指令序列。

7.属性表集合

包含了该类或接口的所有属性,如源文件名,行号表,本地变量表。

相关推荐
2301_7641505615 分钟前
c++如何读取和解析带BOM头的UTF-8与UTF-16文本流【详解】
jvm·数据库·python
qq_4240985618 分钟前
HTML函数开发用窄边框笔记本有优势吗_便携与性能权衡【指南】
jvm·数据库·python
Wyz2012102421 分钟前
CSS如何实现导航栏下划线随鼠标移动_利用-hover伪类与过渡动画控制
jvm·数据库·python
2201_7610405922 分钟前
SQL如何统计每个用户的首次行为时间_MIN聚合与分组
jvm·数据库·python
qq_1898070327 分钟前
mysql如何实现定时清理缓存数据_利用event scheduler执行
jvm·数据库·python
Polar__Star30 分钟前
golang如何实现低功耗设备唤醒机制_golang低功耗设备唤醒机制实现教程
jvm·数据库·python
a95114164232 分钟前
CSS怎么在flex布局中实现项目均分间距_设置justify-content space-evenly
jvm·数据库·python
2201_7610405938 分钟前
Golang如何做灰度发布_Golang灰度发布教程【实战】
jvm·数据库·python
baidu_3409988244 分钟前
CSS Grid布局如何实现项目在网格内填充_掌握justify-items属性
jvm·数据库·python
2401_897190551 小时前
JavaScript中数组洗牌算法Shuffle的随机性优化处理
jvm·数据库·python