我被要求在linux平台上编写一个java程序。根据系统管理员的说法,Linux系统上的JRE是GIJ,它应该与JRE 1.4.2兼容。
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-44)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gij
是否足够稳定以供商业用途?gij
,我应该会遇到什么问题?目前我正在使用WinXP,JDK 6.0和Eclipse进行软件开发。
答案 0 :(得分:4)
gij非常古老,虽然我没有参考资料,但我怀疑它是否足以支持商业应用。那,Java 1.4是编程的苦差事。
如果您的系统管理员愿意安装并支持更新版本的Java,那么最好让他们这样做。
如果Sun JRE的专有性质与您有关,您应该查看OpenJDK。根据GPL发布,它取代了FSF与GCJ / GIJ的合作。它是许多开源Linux附带的Java的默认版本,例如Debian,Ubuntu和Fedora。除了自由,它也是现代的 - OpenJRE 6与Sun的JRE6完全兼容。
答案 1 :(得分:3)
gij
对于Java 1.4代码没有问题,但是如果你从头开始编写代码,那么你很可能想要使用Java 5和Java 6功能。特别是,Java 5提供了泛型,自动装箱/拆箱以及a slew其他有用的语言和类库功能。 Sun JRE根本不需要安装,所以除非你正在开发一个非常小的应用程序,其中Java 5语言功能无济于事,或者你有其他理由想要坚持使用1.4,我只会咬一口子弹并从here安装最新的JRE。
答案 2 :(得分:2)
gij尚未通过Sun兼容性测试,应被视为构建,测试等的独立平台。
如果您不想去那里,那么安装Sun JVM(只需键入“apt-get install sun-java6-jdk”并接受许可)或OpenJDK(其中包含更多内容)自由许可证,但未经过严格测试。)
答案 3 :(得分:1)
gij
是Java的GNU Interpreter,而不是编译器 - gcj
。 gcj
可以将Java编译为JVM字节码(由gij或任何普通的Java虚拟机解释)或者编译为常规编译语言的本机代码。 gij
只是字节码解释器,应该可能等同于任何其他JVM,但我可能总是错的。
答案 4 :(得分:1)
GCJ 等同于Sun的JDK或JRE,因此您可能会发现API中不包含您需要的某些内容。您还需要使用开发计算机上的GCJ在服务器上编译GIJ的代码。查看GCJ libjava目录以查看哪些类。如果你需要的课程不在那里,你不能只从Sun JDK复制它;你实际上需要让他们在服务器上安装JRE。