0
我做了一個簡單的Java文件:Java的.class文件大小Vs的java文件大小
class Hello {
public static void main(String arg[]) {
System.out.println("Hello");
}
}
這個hello.java文件的大小是87字節而類文件的大小是401字節
我不得不問什麼東西得到代碼,以便類文件具有大尺寸?
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html –
而且你可以運行javap -p加上一些其他的選項,我不知道通過心臟看到類完全拆卸 – GhostCat
你應該做的第一件事是通過完全寫出編譯器爲你填充的所有東西來比較蘋果和蘋果:(1)顯式聲明'extends java.lang.Object'(2)包括無參數構造函數(3)完全限定所有引用(例如'java.lang.String')(4)字節碼還包含完整的類名和任何方法調用的簽名,因此在方法調用中添加一些強制類型: '((java.io.PrintStream)System.out).println((java.lang.String)「Hello」);'(5)在方法調用和構造函數調用中顯式使用'return'。所有這一切,你的文件增長到200B。 – yshavit