2011-11-17 130 views
7

我正在寻找一个翻译器,用于在执行之前将Java ByteCode翻译成机器本机代码以提高性能。如何将字节码转换为机器本机代码

我听说OpenOffice是用JAVA制作的,但是在他的安装文件夹里我看不到任何jar文件,所以也许有翻译,但是我找不到它。

有没有人知道一些工具或商业产品做到这一点?

谢谢!

+0

您是否看过GCJ(GCC Java编译器?) – Mat

+2

JVM本身包含一个JIT编译器,它在需要时将字节码转换为机器码,但市场上的工具通常只是将JVM包装在可执行文件中,就像ExcelsiorJET - http://www.excelsior-usa.com/jet.html –

+4

只是给你一个关键字搜索:你正在寻找一个AOT(提前)编译器。 – Polynomial

回答

0

有多种解决方案。一切都不理想。

看一看here(exe4j)。要了解更多,请阅读article

+2

我不认为exe4j是一个AOT - 它不会预编译为本地代码,AFAICT 。 –

0

看一下Avian JVM。请参阅我的回复here以了解如何嵌入它的指示以及可用于生成独立可执行文件的类库。

如果您只需要托管语言/平台,您还可以使用.NET/Mono AOT。请参阅Mono 2.x附带的mkbundle工具。