Class文件的内容(带有视频解说持续更新)

2023-06-28 11:05:32 浏览数 (1)

Class文件是一个二进制字节流

· 数据类型:u1 u2 u4 u8 和_info(表类型)

_info的来源是hotspot源码中的写法

· 如何查看16进制的Class File

Sublime、notepad、Idea插件 BinEd

观察Byte Code的方法

Javap、JBE(可以直接修改)、JClassLib-IDEA的插件

Class File的构成:

· ClassFile{

u4:magic

u2:minor_version

u2:major_version

cn_info_constant_pool[constant_pool_count -1]

……..

}

Magic Number:

Minor Version:最小版本(5.01中的.01)

major Version:最大版本(5.01中的5)

constant_pool:长度为constant_pool_count-1的表

常量池编号从1开始 0不指向任何常量池

access flags:ACC_PUBLIC 0X0001 为public类型(acc_super 遗留问题) 0X0021 是public 和acc_super (0x0020)按位与的结果

this.class :当前的class文件指向常量池里面的内容

super.class:父类指向常量池的内容

constant_pool{

CONSTANT_Methodref_info:

}

JVM官方文档 : https://docs.oracle.com/javase/specs/jvms/se16/jvms16.pdf

主要查看6、7节

这个是Class文件的详细说明可将图片保存下来进行观看或者后台回复

Class二进制图片获取

本内容视频可参考:

度盘链接: https://pan.baidu.com/s/139mIzP7ERKa_o_GPqMdOhg 提取码:msyj

声明:以上资料来源于互联网经本人整理而发,如有侵权联系删之

0 人点赞