他们说Sun的Java现在是开源的,那么我能从源代码编译出所有平台吗?
我使用Gentoo,并且发现自己编译系统可以获得很好的性能提升,那么Java(包括VM运行时和库类)是否也可以这样做?
在Windows / Linux下是否可行?
有人这样做过吗?
这样做有意义吗?
他们说Sun的Java现在是开源的,那么我能从源代码编译出所有平台吗?
我使用Gentoo,并且发现自己编译系统可以获得很好的性能提升,那么Java(包括VM运行时和库类)是否也可以这样做?
在Windows / Linux下是否可行?
有人这样做过吗?
这样做有意义吗?
是的,现在这应该是可能的 -- 但是,除非您有一个编译器可以从相同的源输入产生更好的字节码,否则它不会给您带来任何好处。鉴于将Java翻译成字节码的简单性以及大多数优化是在运行时完成的事实,这似乎不太可能。
我不太确定你为什么想这样做,除了出于教育目的之外。
Sun公司在所有方面(包括JVM和默认库)都投入了大量精力来提高性能,我看不出你为什么会得到更好的结果。
再次强调,学习如何实现这个功能是很好的,但我不会期望有巨大的性能提升。
Java 将程序编译为机器码,据我从 Sun 网站收集的信息,它对使用的编译器非常敏感。因此,您需要使用受支持的构建环境来确保结果是 100% 正确的。
对于未经训练的人来说,构建 JDK 并不容易,所以除非您熟悉阅读 Makefiles,否则我建议将此项目留到后面再做 :)