【发布时间】:2011-11-17 12:57:56
【问题描述】:
我正在寻找一个翻译器,用于在执行前将 Java 字节码翻译成机器本机代码以提高性能。
听说OpenOffice是用JAVA做的,但是我在他的安装文件夹中看不到jar文件,所以可能有翻译器但是我找不到。
有没有人知道一些工具或商业产品可以做到这一点?
谢谢!
【问题讨论】:
-
你看过 GCJ(GCC Java 编译器吗?)
-
JVM 本身包含一个 JIT 编译器,它会在需要时将字节码转换为机器码,但市场上的工具通常只是将 JVM 包装在一个可执行文件中,就像 ExcelsiorJET - excelsior-usa.com/jet.html跨度>
-
只是给你一个关键字来搜索:你正在寻找一个 AOT(提前)编译器。
-
看不到 jar 的原因有很多——自定义类加载器可以读取它喜欢的任何格式。所以我不会对 OpenOffice 的领导抱太大希望。
-
JVM 不仅在运行时将字节码编译为机器码,而且做得非常好。我建议您使用其中一种性能分析器工具(例如 Netbeans 中的一种)来确定代码的关键部分,并尝试自己改进它。如果不能,请将您的具体性能问题作为问题发布。 AOT 编译的代码可能会更慢,除非您只对更好的启动时间感兴趣。