2012-01-30 66 views
0

我正在讨论围绕Java是否开源的讨论。有几个答案指的是Java的实现。Java的实现是什么意思?

是否有Java的规范?只要符合规范,任何人都可以自己写实现吗?该规范在哪里记录?

谢谢。

+1

http://java.sun.com/docs/books/jls/看到这个 – 2012-01-30 05:12:30

+0

感谢詹姆斯。这个规范是否不断更新每个Java版本?谁拥有这个规范,谁证明一个Java实现是否符合这个规范?使用哪种编程语言编写Java实现 - 例如,Sun使用哪种语言编写实现。如果所有这些应该成为新问题的一部分,我会发布一个新问题。 – 2012-01-30 05:34:11

+1

任何人都可以关注JLS。然而,它需要一系列测试(和$$$?)才能声称是Java(兼容)。微软在90年代未能做到这一点 - 然后他们决定完全不支持Java :-) – 2012-01-30 05:36:36

回答

2

“Java”可以指执行Java字节码的Java平台和Java语言。有两个规格。除了Sun的正式实施外,其他组织还创建了两者的替代实现。有关Java语言的规范,请参阅James Gosling的书籍“Java编程语言”。

+0

谢谢亚历克斯。除了Sun(或Oracle现在)提供的规范之外,是否有任何规范在使用?为什么任何人都会创建一个完整的实现 - 不是一项主要工作? – 2012-01-30 05:22:48

+0

当然,这是一个巨大的工作。这就是为什么我说其他“组织”已经做出了自己的实现,而不是“个人”。例如:IBM拥有自己的Java虚拟机,称为“Jikes” - 我不知道它是否还在附近,或者它们是否放弃了它。我相信Eclipse使用自己的Java编译器而不是Sun Java编译器。 (其他人,如有必要,请纠正我。)至于*为什么* ...我相信他们在每种情况下都有不同的理由。你必须研究个案。 – 2012-01-30 09:03:20

+0

谢谢亚历克斯,有道理:) – 2012-01-30 10:59:14

3

是的。
太阳发表了specification

+0

谢谢SLaks :) – 2012-01-30 05:22:58