小编Sve*_*ven的帖子

Javap输出:差异静态{}和公共{}

我有两个示例类文件,一个来自示例Java应用程序,另一个来自示例C app(使用LLJVM编译为字节码).

看看他们的输出,我可以通过javap -c -p看到,为了初始化(静态)字段,Java应用程序显示以下块:

static {};
Code: 
0: sipush 1339
3: putstatic   #7     //Field SRV_ID
etc
Run Code Online (Sandbox Code Playgroud)

<clinit>如果我理解的话,基本上就是这个方法.或者由我正在使用的VM检测到.

然而,C-app有这个:

public {};
Code: 
0: sipush 1339
3: putstatic   #7     //Field SRV_ID
etc
Run Code Online (Sandbox Code Playgroud)

这是什么?我的VM没有检测到它.

示例类文件.第一个来自Java应用程序打印消息并等待20秒,重复.第二个是大致相同的C应用程序.

http://www.fast-files.com/getfile.aspx?file=156962

http://www.fast-files.com/getfile.aspx?file=156961

这样做的道歉 - 我不会立即知道如何附加文件或有效地显示.class文件.

java jvm bytecode bytecode-manipulation jvm-bytecode

8
推荐指数
1
解决办法
252
查看次数