字节码相关产物
- 从源码出发可以然后通过
javac命令就可以得到.class, 这个文件是一个二进制文件,一般编辑器是无法打开的 - 从
.class通过javap去得到字节码的解析文件(可视化) - 直接用HexDump(可以用vs code中的HexDump插件)打开
.class可以看到二进制码 - 用IDEA直接打开,就解析成Java源码了
字节码结构
- 字节码的结构是层层嵌套的,主要分为两种,
- 一般大小为2字节的属性(可以类比为java中的基本数据类型)
- 大小为n字节的复合数据结构(可类比为Java中的Object)
- 魔数固定为
cafe babe,用于判断是否是.class文件 - 图中标绿色的都是比较重要的复合数据结构
Class Name,Super ClassName,Interface Sets信息可以确定该类的继承结构