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