JVM的Class文件结构解析
源文件相关信息
首先给出 .java 的结构。
public class Main {
// 定义若干常量
public static final boolean FLAG = true;
public static final byte BYTE = 123;
public static final char X = 'X';
public static final short SHORT = 12345;
public static final int INT = 123456789;
public static final long LONG = 12345678901L;
public static final float PI = 3.14f;
public static final double E = 2.71832;
// 定义若干成员变量
private int age;
private String name;
// 空的构造函数
public Main() {}
// 用于初始化的构造函数
public Main(int age, String name) {
this.age = age;
this.name = name;
}
// 普通方法
protected int add(int input) {
int output = input+1;
return output;
}
// 静态方法
public static boolean compare(int a, int b) {
return a > b;
}
public static void main(String[] args) throws RuntimeException {
System.out.println("Hello World!");
}
} 下面将使用字节码解析工具对 .class 文件进行解析。

