我有两个示例类文件,一个来自示例 Java 应用程序,一个来自示例 C 应用程序(使用 LLJVM 编译为字节码)。
查看它们的输出,我可以通过 javap -c -p 看到对于初始化(静态)字段,Java 应用程序显示以下块:
static {};
Code:
0: sipush 1339
3: putstatic #7 //Field SRV_ID
etc
<clinit>
如果我理解的话,这基本上是方法。或者被我正在使用的虚拟机检测到。
然而,C-app 有这个:
public {};
Code:
0: sipush 1339
3: putstatic #7 //Field SRV_ID
etc
这是什么?我的虚拟机没有检测到它。
示例类文件。第一个来自 Java 应用程序,它打印一条消息并等待 20 秒,重复。第二个是一个大致相同的 C 应用程序。
http://www.fast-files.com/getfile.aspx?file=156962
http://www.fast-files.com/getfile.aspx?file=156961
很抱歉这样做 - 我不立即知道如何附加文件或有效地显示 .class 文件。