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
Kehittäjä Oracle, OpenJDK ja Java -yhteisö, Red Hat, Azul Systems, IBM, Microsoft, Amazon, Apple, SAP
Kehityshistoria
Vakaa versio 22 ()[1]
Tiedot
Ohjelmointikielet C++ ja Java
Lisenssi vain GPLv2-lisenssillä linkityspoikkeuksella
Aiheesta muualla
Verkkosivusto
Versiohallinta

Komponentit muokkaa

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 muokkaa

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 muokkaa

Koska Oracle ei enää julkaise päivityksiä pitkän aikavälin tukijulkaisuille (LTS) sallitulla lisenssillä, muut ovat alkaneet tarjota koontiversioita. [12] [13] [14] Linux-jakelut ovat aina tarjonneet omia koontiversioitaan, ja Windows tarjoaa myös sellaisen nyt;

winget install ojdkbuild.openjdk.17.jre

Lähteet muokkaa

  1. JDK 22, (viitattu ). Tieto on haettu Wikidatasta.
  2. OpenJDK homepage Oracle Corporation and/or its affiliates. Viitattu January 1, 2013.
  3. Moving to OpenJDK as the official Java SE 7 Reference Implementation
  4. Java Platform, Standard Edition 7 Reference Implementations
  5. Java Platform, Standard Edition 8 Reference Implementations jdk.java.net. Arkistoitu November 21, 2015.
  6. Darcy: OpenJDK and the new plugin mail.openjdk.java.net. June 8, 2009. Viitattu September 5, 2009.
  7. Ahead-of-Time (AOT) Compilation May Come to OpenJDK HotSpot in Java 9 1.10.2016. InfoQ.com. ”AOT brings about a new tool called ‘jaotc' which uses Graal as the backend (to generate code)” Viitattu 6.10.2016.
  8. [JDK-8232118 Add JVM option to enable JVMCI compilers in product mode - Java Bug System] bugs.openjdk.java.net.
  9. Didn't you promise to open source both JDK 6 and JDK 7 last November? What happened to JDK 6? Sun Microsystems. Arkistoitu March 3, 2012. ”Sun did make that promise, and we plan to keep it. But in the six months since the November 2006 announcement, it has become clear that doing this is far more complex than just changing the license and publishing the source code.” Viitattu October 14, 2007.
  10. oracle.com: CFV: New Project: JDK mail.openjdk.java.net. September 26, 2017. Viitattu 16.2.2018.
  11. oracle.com: Accelerating the JDK release cadence mail.openjdk.java.net. September 6, 2017. Viitattu 16.2.2018.
  12. Time to look beyond Oracle's JDK blog.joda.org.
  13. Difference between OpenJDK and AdoptOpenJDK
  14. Java is Still Free