2017-08-08 85 views
-3

根據JAVA,java是一個開放源代碼,這就是爲什麼它提供API的原因,供應商可以爲該API編寫自己的實現/具體類。 所以它遵守開放源代碼的Java,所以我只是想爲什麼他們不提供API的JDK爲什麼他們提供具體的類作爲JDK的一部分?JDK的概念,爲什麼它是這樣的設計

回答

0

按在了JAVA,JAVA是一個開放源碼這就是爲什麼它提供了 的API,使供應商可以編寫自己的實現/混凝土 類該API。

Java本身不提供任何API,Java語言由「Java語言規範」和「JVM規範」組成。供應商可以自由執行這些規範。
與openjdk一樣,Java語言規範和Oracle熱點虛擬機是「JVM規範」的實現

1

當談論Java作爲開發平臺時,術語Java大量超載。

核心Java平臺是通過Java Community Process(JCP)定義的,它創建了許多Java規範請求(JSR),涵蓋了Java功能的不同方面(包括Java ME,Java SE和Java EE以及其他一些,輔助的東西)。每個Java版本都有自己的JSR;在JDK 9的情況下,這是JSR 379.

每個JSR提供三兩件事:

  1. 的規範,在此情況下具有精確定義的Java平臺三個部分:Java語言規範( JLS),Java虛擬機規範(JVMS)和標準類庫定義(API文檔)。
  2. 參考實現(RI)。這是一個證明,如果你喜歡,可以實現規範。就Java SE而言,這是OpenJDK項目(這是Sun Microsystems於2007年開源的項目)。然而,這只是源代碼,不同的人使用它來構建二進制分發版(Oracle,Azul,Red Hat等)。
  3. 技術兼容性套件(TCK)。這是由誰想要開發一個獨立的規範實現來驗證他們寫的是否符合規範的人使用。 IBM和Azul等人使用J9和Zing JVM。

要回答你的問題,Java SE JSR提供了API的定義,OpenJDK提供了這些API的開源實現,然後幾個公司創建了這些API的二進制分發版。