GNU 的 Java 编译器 (GCJ) 死了吗?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4035538/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Is GNU's Java Compiler (GCJ) dead?
提问by Alon Gubkin
As of October 2010, is GNU's Java compilerdead? Are there any active alternatives (especially for compiling Java to native code)?
截至 2010 年 10 月,GNU 的 Java 编译器是否已死?是否有任何有效的替代方案(尤其是将 Java 编译为本机代码)?
LLVM solutions would be preferred.
LLVM 解决方案将是首选。
采纳答案by mikerobi
回答by Grodriguez
One alternative to compile Java to native is Excelsior JET.
将 Java 编译为本机的一种替代方法是Excelsior JET。
回答by Horcrux7
I think not that it is dead. It has only few important. Which result in a slow development. There are 3 fact because it has only few important today:
我不认为它已经死了。它只有几个重要的。导致发展缓慢。有 3 个事实,因为它今天只有几个重要的:
- It based on the GNU Classpath. Since Java is open source (OpenJDK) there is no large need for another open source Java. This has slow down the development speed.
- The Java was faster in the last years. The GCJ output is not faster. In many cases it is slower.
- The GNU Classpath has many incompatibility.
- 它基于 GNU 类路径。由于 Java 是开源的 (OpenJDK),因此对另一个开源 Java 的需求并不大。这已经减慢了开发速度。
- 过去几年,Java 速度更快。GCJ 输出并不快。在许多情况下,它会更慢。
- GNU Classpath 有很多不兼容的地方。
回答by user207421
A more pertinent question would be whether it was ever really alive. Consider these issues, from its own website:
一个更相关的问题是它是否真的活着。从它自己的网站考虑这些问题:
- 1.2support is 'still incomplete'.
- 1.3 ditto.
- The project was last updated over a year ago [as of October 2009].
- Currently 'supports most of the 1.4 libraries plus some 1.5 additions.'
- Doesn't support
java.nio.
- Doesn't support
javax.naming
('complete but no providers'). - Doesn't support
javax.sql.
- Doesn't support AWT or Swing.
- Doesn't support localization via
java.text.
- State of
java.security
is 'unknown'. - Doesn't check permissions in
java.lang.reflect.
- Does it compile generics?
- Huge chunks missing out of other packages, e.g. nearly 50% of
java.util.
- No annotations.
- No script engine.
- Nearly all of
javax.xml.*
(recursively) is missing. - No
org.omg.CORBA.
- Practically no
org.w3c.
- Current comparison with JDK 1.6 is here. Note that this appears to add percentages to give a completely meaningless total.
- 1.2支持“仍然不完整”。
- 1.3 同上。
- 该项目最后一次更新是在一年多前 [截至 2009 年 10 月]。
- 目前“支持大多数 1.4 库以及一些 1.5 附加库”。
- 不支持
java.nio.
- 不支持
javax.naming
('完整但没有提供者')。 - 不支持
javax.sql.
- 不支持 AWT 或 Swing。
- 不支持本地化通过
java.text.
- 状态
java.security
为“未知”。 - 不检查权限
java.lang.reflect.
- 它编译泛型吗?
- 其他软件包丢失了大量数据,例如近 50%
java.util.
- 没有注释。
- 没有脚本引擎。
- 几乎所有
javax.xml.*
(递归)都丢失了。 - 不
org.omg.CORBA.
- 几乎没有
org.w3c.
- 当前与 JDK 1.6 的比较在这里。请注意,这似乎增加了百分比以得出完全没有意义的总数。
And note that it isn't billed as a 'Java compiler'. It is a compiler for a subset of Java known as GNU CLASSPATH. Which in turn hasn't been updated since Feb 2009.
请注意,它没有被称为“Java 编译器”。它是 Java 子集的编译器,称为 GNU CLASSPATH。反过来,自 2009 年 2 月以来就没有更新过。
If it isn't dead it is certainly lying down.
如果它没有死,它肯定是躺着的。
EDITIt's dead. GCJ is no longer listed as a GNU package. And after four years of zero activity we are entitled to assume the same about GNU CLASSPATH.
编辑它死了。GCJ 不再列为 GNU 包。在四年零活动之后,我们有权对 GNU CLASSPATH 做出同样的假设。