前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Class文件的内容(带有视频解说持续更新)

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

作者头像
@派大星
发布2023-06-28 11:05:32
1150
发布2023-06-28 11:05:32
举报
文章被收录于专栏:码上遇见你码上遇见你

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码上遇见你 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档