java类文件结构

本文详细探讨了Java Class文件的各个组成部分,包括魔数、版本号、常量池、类访问标识、类名、父类名、接口名、字段、方法以及属性信息。通过对字节码的分析,揭示了类文件的内部工作原理。
摘要由CSDN通过智能技术生成

本文讲解如何解析java class文件
以jdk8作为演示

1. class文件结构

u2、u4等代表占用字节数

ClassFile {
    u4             magic;	//魔数
    u2             minor_version;	//次版本号
    u2             major_version;	//主版本号
    u2             constant_pool_count;	//常量池中的项数
    cp_info        constant_pool[constant_pool_count-1];	//常量信息,数量为[constant_pool_count-1]
    u2             access_flags;	//类访问标识符
    u2             this_class;	//当前类名称
    u2             super_class;	//父类名称
    u2             interfaces_count;	//实现接口的数量
    u2             interfaces[interfaces_count];	//接口信息
    u2             fields_count;	//字段数量
    field_info     fields[fields_count];	//字段信息
    u2             methods_count;	//方法数量
    method_info    methods[methods_count];	//方法信息
    u2             attributes_count;	//类属性数量
    attribute_info attributes[attributes_count];	//类属性信息
}

本文中使用以下代码作为演示

package demo.jvm;

public class ClassFile {
   

    long a;

    public static void main(String[] args) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值