【JVM】字节码文件的组成

1. 魔数与Class文件版本

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

2.常量池

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

3.访问标志

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

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

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

5.字段表集合

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

6.方法表集合

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

7.属性表集合

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

相关推荐
黄昏晓x1 天前
C++----多态
java·jvm·c++
linweidong1 天前
理想汽车Java后台开发面试题及参考答案(下)
jvm·spring boot·spring cloud·rpc·虚拟机·feign·二叉树排序
大大大大物~1 天前
JVM之锁优化(自旋锁 适应性自旋 锁消除 锁粗化 轻量级锁 偏向锁)
jvm
无毁的湖光Al1 天前
日常问题排查-Younggc突然变长
java·jvm·后端
..Cherry..1 天前
【java】jvm
java·开发语言·jvm
zz-zjx2 天前
JVM 内存结构与 GC 机制详解( 实战优化版)
java·jvm·tomcat
siriuuus2 天前
JVM 内存分区及 GC 垃圾回收 相关知识总结
jvm·full gc
Arlene2 天前
JVM Java虚拟机
java·开发语言·jvm
老K的Java兵器库2 天前
对象创建源码追踪:从 new 指令到 JVM 内部实现
java·jvm
老K的Java兵器库2 天前
Metaspace OOM 排查实录:一次 Spring 热部署爆掉 256 M 元空间
java·jvm·spring