Class文件和Dex文件的初步解析

本文介绍了Class文件的特点,包括8字节二进制流格式、紧密排列的数据以及每个类单独的class文件。详细解析了Class文件的各个字段,如magic、version、constant_pool等,并提及access_flags的作用。此外,还提到了Class文件的内存占用和加载速度问题。然后转向Dex文件,解释了Dex文件用于DVM执行,存储整个工程的类信息,同样为8字节流格式,所有Java源文件集中在一个dex中,并简述了其文件头和索引区。
摘要由CSDN通过智能技术生成

class文件结构
特点:
(1)8字节的二进制流文件
(2)各个数据按栓需紧密的排列,无间隙
(3)每个类或接口都单独占据一个class文件

class文件中的字段,及作用
(1)magic:无符号4字节,加密段,判断是否被篡改过
(2)minor_version:最小适配的jdk版本
(3)major_version:由哪个jdk版本生成
(4)constant_pool_count:常量池的数量
(5)constant_pool:结构体类型,常量池
(6)access_flags:当前class文件作用域标志
(7)this_class:当前类
(8)super_class:父类
(9)interface_count:当前类文件继承的接口数量,直接继承
(10)interface:当前类文件直接继承的接口
(11)fileds_count:所有的成员变量的数量
(12)fields:结构体,所有的成本变量
(13)methods_count:方法数量
(14)methods:结构体,当前类的method

access flags 取值范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值