OpenJDK ( Open Java Development Kit ) on vapaa ja avoimen lähdekoodin Java Platform, Standard Edition (Java SE) -toteutus. [2] Se on tulosta Sun Microsystemsin vuonna 2006 aloittamasta hankkeesta. Toteutus on lisensoitu vain GPL-2.0- lisenssillä linkityspoikkeuksella . Ellei GPL-linkityspoikkeusta olisi, Java-luokkakirjastoon linkitetyt komponentit olisivat GPL-lisenssin ehtojen alaisia. OpenJDK on Java SE:n virallinen referenssitoteutus versiosta 7 lähtien. [3][4][5]
OpenJDK-projekti tuottaa useita komponentteja: tärkeimmät virtuaalikoneen ( HotSpot ), Java Class Libraryn ja Java-kääntäjän ( javac ).
Selainlaajennus ja Web Start, jotka ovat osa Oracle Javaa, eivät sisälly OpenJDK:han. Sun ilmoitti aiemmin yrittävänsä saada nämä komponentit avoimeen lähdekoodiin, mutta Sun tai Oracle eivät ole tehneet niin. [6] Ainoat tällä hetkellä saatavilla olevat ilmaiset lisäosat ja Web Start -toteutukset as of 2016 ovat IcedTean tarjoamia.
OpenJDK 9+ tukee AOT-kääntämistä ( jaotc ) GraalVM:n (JEP 295) avulla. [7] Kokeellinen -XX:+EnableJVMCIProduct -lippu mahdollistaa Graal JIT:n (JEP 317) käytön. [8]
OpenJDK-versiot
OpenJDK perustui alun perin vain Java-alustan JDK 7 -versioon . [9]
JDK 10:n jälkeen pyrkimys tuottaa avoimen lähdekoodin referenssitoteutus Java SE Platformille siirrettiin JDK-projektiin. [10] Toisin kuin aiemmat JDK Release Projects -projektit, jotka tuottivat vain yhden ominaisuusjulkaisun ja päättyivät sitten, tämä pitkäkestoinen projekti tuottaa kaikki tulevat JDK-ominaisuusjulkaisut ja toimittaa ominaisuusjulkaisun kuuden kuukauden välein tiukan, aikaperusteisen mallin mukaisesti. [11]
OpenJDK koontiversiot
Koska Oracle ei enää julkaise päivityksiä pitkän aikavälin tukijulkaisuille (LTS) sallitulla lisenssillä, muut ovat alkaneet tarjota koontiversioita. [12][13][14]