看到一个Java程序';s本机程序集代码--What';Windows中最简单的方法是什么?

看到一个Java程序';s本机程序集代码--What';Windows中最简单的方法是什么?,java,jvm,Java,Jvm,我试着按照发现的建议去做,但是没有多大帮助。我在Windows7上运行一个64位的JVM,我把建议的hsdis-i386.dll文件放在所有文件夹中,只是为了确保有一个JVM.dll 我似乎有几个JVM安装(至少我在C:\ProgramFiles(x86)\Java中安装了一个,在C:\ProgramFiles\Java中安装了另一个),所以我不知道这是否有什么不同。据我所见,使用java-d32会产生错误,因此我必须只使用64位版本1 当你想跑的时候 java -XX:+UnlockDiagn

我试着按照发现的建议去做,但是没有多大帮助。我在Windows7上运行一个64位的JVM,我把建议的
hsdis-i386.dll
文件放在所有文件夹中,只是为了确保有一个JVM.dll

我似乎有几个JVM安装(至少我在
C:\ProgramFiles(x86)\Java
中安装了一个,在
C:\ProgramFiles\Java
中安装了另一个),所以我不知道这是否有什么不同。据我所见,使用java-d32会产生错误,因此我必须只使用64位版本1

当你想跑的时候

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -server -cp . HelloWorldApp
只有我的

你好,世界

显示消息,因此似乎没有发生任何事情。也许问题是hsdis-i386.dll应该有其他名称


顺便说一句,我不想自己构建任何类型的源文件。

Hotspot在知道什么是重要的之前不会开始编译和优化,而且当你运行这么短的程序时,它没有机会启动。给它一些更实质性的东西。

嗯。我只想看看我的应用程序的本机代码是什么。不是每一段代码都会转换为本机代码吗?或者默认情况下,它会解释代码并编译成本地的一些关键部分?你似乎是对的。将它放在一个循环中,然后出现一些错误,说明它找不到hsdis-amd64.dll。是的,我使用了32位安装的给定.dll,效果非常好。不过,如果我想让.dll代码与我的64位JVM一起运行,我想我必须自己编译.dll代码。