Class文件结构解析

本文介绍了Java Class文件的结构,包括魔数、版本号、常量池、字段表和方法表。通过分析魔数和版本号来识别Class文件,接着详细讲解了常量池中的字面量和符号引用,以及字段表和方法表的基本组成和作用。
摘要由CSDN通过智能技术生成

用到的工具:vscode,vscode的插件HexDump
开始
撸一个简单的java文件

public class Test {
   
    private int m;
    private final int a = 1;

    public int inc() {
   
        return m + 1;
    }
}

然后编译javac Test.java
得到的class文件使用vscode打开,然后右上角展开二进制查看
在这里插入图片描述
效果:
在这里插入图片描述
然后使用终端查看class文件:javap -verbose -p Test.class

linyundeMacBook-Pro:jvm1 ly$ javap -verbose -p Test.class 
Classfile /Users/ly/apps/workspace/test/jvm1/Test.class
  Last modified 2019-5-11; size 325 bytes
  MD5 checksum 3fe9acf3ae2b95e18390a5f1dc8ad2f5
  Compiled from "Test.java"
public class Test
  minor version: 0
  major version: 52
  flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
   #1 = Methodref          #5.#19         // java/lang/Object."<init>":()V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值