【JVM】字节码文件的组成

1. 魔数与Class文件版本

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

2.常量池

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

3.访问标志

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

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

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

5.字段表集合

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

6.方法表集合

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

7.属性表集合

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

相关推荐
Javatutouhouduan15 小时前
Java初学者如何高效学习JVM?
java·jvm·java虚拟机·java面试·后端开发·java程序员·java八股文
2602_9599609217 小时前
电商场景Java面试:Spring Boot、JVM、Redis、Kafka、微服务与分布式事务考点解析——谢飞机的作死面试记
java·jvm·spring boot·redis·面试题
wuminyu18 小时前
JDK21中FFM api的upcall回调机制解析
java·linux·c语言·jvm·c++
松仔log19 小时前
Kotlin中级——协程
java·jvm·kotlin
吴声子夜歌2 天前
Java面试题——JVM(二)
java·开发语言·jvm
Dicky-_-zhang3 天前
大模型部署架构:从推理引擎到弹性扩缩容的工程实践
java·jvm
聊浮游3 天前
JAVA2026最新全套学习资料、学习路线
java·开发语言·jvm·mysql·spring·maven·idea
阿昌喜欢吃黄桃3 天前
RocketMQ 同一 JVM 启动多个 Producer 导致 NameServer 只连一个的问题
jvm·rocketmq·mq
2602_959960923 天前
大厂Java面试:Spring Boot、JVM、Redis、Kafka与Elasticsearch在内容社区UGC场景下的实战拷问
java·jvm·spring boot·redis·面试题
典典分享指南3 天前
用指纹算法给文章去重:mid_signature 实战
jvm·maven·intellij-idea·jetty