Siirry sisältöön

Java Development Kit

Wikipediasta
Tämä on arkistoitu versio sivusta sellaisena, kuin se oli 25. huhtikuuta 2023 kello 00.47 käyttäjän Linkkerpar (keskustelu | muokkaukset) muokkauksen jälkeen. Sivu saattaa erota merkittävästi tuoreimmasta versiosta.

Java SE Development Kit (JDK) on Javan kehitysympäristö, joka sisältää työkalut Java-ohjelmien koodaamiseen Standard Edition (SE) ympäristössä. Java Development Kit on ladattavissa yleisimmille käyttöjärjestelmille (Windows, Mac, Linux). JDK:sta ilmestyy uusia versioita, tällä hetkellä uusin versio Oraclen sivuilla on Java SE Development Kit 20[1]. Java JDK 20:ssä on 7 uutta ominaisuutta: Vector API- ehdotus, virtuaaliset säikeet, rakenteellien rinnakkaisuus, scoped values, kuvioiden tallentaminen, vieras toiminto ja muisti API, kuvioiden testaus switch -lauseisiin[1]. Osaa vanhemmista versioista tuetaan edelleen ja niihin julkaistaan päivityksiä. Viimeisin versio, jolle luvataan pitkäainen tuki (LTS, Long-Term Support), on JDK 17. Seuraava LTS versio ilmestyy syyskuussa 2023. Tutkimuksen mukaan vuonna 2022 JDK 11 oli yhä käytetyin versio[2]

  • Java 20 (Java SE Development Kit 20): julkaistu maaliskuu 2023
  • Java 17 (Java SE Development Kit 17): julkaisu syyskuu 2021, LTS
  • Java 11 (Java SE Development Kit 11): julkaisu syyskuu 2018, tuki vähintään syyskuu 2026
  • Java 8 (Java SE Development Kit 8): julkaisu maaliskuu 2014, tuki vähintään joulukuu 2030

Oraclen sivuilta on saatavissa myös JRE (Java SE Runtime Environment), mutta se sisältää vain Java-ohjelmien ajamiseen tarvittavan virtuaalikoneen ja standardit luokkakirjastot, joten sen avulle ei voi kehittää omia Java-ohjelmia. JDK sisältää JRE:n.

Java-koodin kirjoittamiseen myös kehitystyökalu, jonka kautta JDK:ta voidaan käyttää. Javan kehitystyökaluja ovat mm. IntelliJ IDEA, Eclipse ja NetBeans. Kehitystyökalun tietty versio voi vaatia vähintään tietyn JDK:n version.

Sisältö

JDK sisältää mm. seuraavia osia, jotka ovat tärkeitä kehitykselle ja testaukselle[3]:

  • jar - arkistoija, joka pakkaa luokkia ja resursseja yhteen jar-tiedostoon ja auttaa hallinnoimaan niitä
  • jarsigner - mahdollistaa jar-tiedostojen allekirjoituksen ja varmennuksen
  • java - Java-applikaatioden lataaja
  • javac - Java-kääntäjä, joka kääntää lähdekoodin Java-tavukoodiksi ja class-tiedostoiksi.
  • javadoc - dokumenttigeneraattori, joka luo automaattisesti HTML-dokumentaation lähdekoodin perusteella
  • javap - mahdollistaa yhden tai useamman luokkatiedoston jakamisen osiin
  • jcmd - mahdollistaa diagnostisten komentopyyntöjen lähettämisen Java-virtuaalikoneelle
  • jconsole - graafinen konsoli Java-ohjelmien tarkkailuun ja hallinnointiin
  • jdb - deguggeri, jonka avulla voidaan löytää ja korjata bugeja
  • appletviewer - työkalu jota käytetään käynnistämään ja paikantamaan virheet Java sovelmassa ilman internetselainta
  • apt - kommentointi ja käsittely väline
  • extcheck - apuohjelma, joka havaitsee JAR-tiedostoristiriidat
  • idlj - IDL-Java-kääntäjä. Tämä apuohjelma luo Java-sidoksia annetusta Java IDL -tiedostosta.
  • jabswitch - Java Access Bridge. Esittelee avustavia tekniikoita Microsoft Windows -järjestelmissä.
  • javafxpackager – työkalu JavaFX-sovellusten pakkaamiseen ja allekirjoittamiseen
  • javah - C-otsikko- ja tynkägeneraattori, jota käytetään natiivimenetelmien kirjoittamiseen
  • javaws - Java Web Start -käynnistysohjelma JNLP-sovelluksille
  • jhat - Java-keon analyysityökalu (kokeellinen)
  • jinfo - Tämä apuohjelma saa määritystiedot käynnissä olevasta Java-prosessista tai kaatumisvedosta. (kokeellinen)
  • jmc - Java Mission Control, kerää yksityiskohtaisia ja matalan tason suoritusaikatietoja mahdollistaen jälkikäteen tapahtuneen tapahtuman analysoinnin.[4]
  • jmap - Tämä apuohjelma tulostaa Java-muistikartan ja voi tulostaa tietyn prosessin tai ydinvedosten jaetut objektimuistikartat tai kasamuistin tiedot. (kokeellinen)
  • jpackage - työkalu itsenäisten sovelluspakettien luomiseen. (kokeellinen)
  • jps - Java Virtual Machine Process Status Tool -työkalu listaa kohdejärjestelmän instrumentoidut HotSpot Java Virtual Machines (JVM:t). (kokeellinen)
  • jrunscript - Java komentorivin komentosarjan kuori.
  • jshell - luku-eval-tulostussilmukka, joka esiteltiin Java 9:ssä.
  • jstack - apuohjelma, joka tulostaa Java-säikeiden pinojäljet. (kokeellinen)
  • jstat - Java Virtual Machine -tilastojen seurantatyökalu (kokeellinen)
  • jstatd – jstat daemon (kokeellinen)
  • keytool - työkalu avainsäilön käsittelyyn
  • pack200 - JAR-pakkaustyökalu
  • policytool - käytäntöjen luonti- ja hallintatyökalu, joka voi määrittää Java-ajonaikaisen käytännön ja määrittää, mitkä oikeudet ovat saatavilla eri lähteistä tulevalle koodille.
  • VisualVM - visuaalinen työkalu, joka integroi useita komentorivin JDK-työkaluja ja kevyitä suorituskyky- ja muistiprofilointiominaisuuksia (ei enää sisälly JDK 9+ -versioon)
  • wsimport - luo kannettavia JAX-WS-artefakteja verkkopalvelun käynnistämiseksi.
  • xjc - Kuuluu Java API for XML Binding (JAXB) API. Hyväksyy XML-mallin ja luo Java-luokkia.


Kokeellisia työkaluja ei välttämättä ole saatavilla JDK:n tulevissa versioissa. JDK sisältää myös täydellisen Java Runtime Environmentin (JRE), jota yleensä kutsutaan erilliseksi suoritusympäristöksi. Tämä johtuu siitä, että se on erotettu "tavallisesta" JRE:stä ja siinä on ylimääräistä sisältöä. Se koostuu Java Virtual Machinesta ja kaikista luokkakirjastoista, jotka ovat käytettävissä tuotantoymäpäristössä, sekä kehihittäjille hyödyllisistä lisäkirjastoista, kuten kansainvälistämiskirjastoista ja IDL-kirjastoista[5]

Muut JDK:t

Java Development Kitistä on saatavilla myös mm. avoimen lähdekoodin versio OpenJDK. Sen kehitys aloitettiin vuonna 2007, kun Sun Microsystems julkaisi JDK:n GLP(General Public Licence)-lisenssin alaisena. Muitakin JDK.ta on saatavilla useille alustoille. Kaikki nämä noudattavat Javan perusmäärityksiä, mutta usein ne roavan nimenomaan määrittelemättömillä alueilla, kuten turhan koodi poisto, käännöstrategioissa ja optomointitekniikoissa.

Erilaisia JDK:ta:

Lähteet

  1. a b Paul Krill: JDK 20: The new features in Java 20 21.3.2023. InfoWorld. Viitattu 23.3.2023.
  2. 2022 State of the Java Ecosystem Report New relic. Viitattu 23.3.2023.
  3. Java® Development Kit Version 20 Tool Specifications Oracle. Viitattu 23.3.2023.
  4. JDK Mission Control oracle.com. (englanniksi)
  5. Java Development Kit. Wikipedia, 30.3.2023. Artikkelin verkkoversio. (englanniksi)
  6. developerWorks : IBM developer kits : Downloads 128.ibm.com. Viitattu 5.8.2012.
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.