JDK vs JRE vs JVM sisään Java – Ero niiden välillä
Keskeinen ero JDK:n, JRE:n ja JVM:n välillä
- JDK on ohjelmistokehityspaketti, kun taas JRE on ohjelmistopaketti, joka mahdollistaa Java ohjelmaa, kun taas JVM on tavukoodin suorittamisympäristö.
- JDK:n täysi muoto on Java Development Kit, kun taas JRE:n täysi muoto on Java Runtime Environment, kun taas JVM:n täysi muoto on Java Virtuaalikone.
- JDK ja JRE ovat alustariippuvaisia, kun taas JVM on alustariippumaton tavukooditasolla, mutta riippuu alustakohtaisista toteutuksista.
- JDK sisältää työkaluja kehittämiseen, virheenkorjaukseen jne. JRE sisältää luokkakirjastoja ja muita tukitiedostoja, kun taas ohjelmistokehitystyökalut eivät sisälly JVM:ään.
- JDK tulee asennusohjelman mukana, toisaalta JRE sisältää vain ympäristön lähdekoodin suorittamiseen, kun taas JVM on mukana sekä ohjelmistossa JDK että JRE.
Mikä on JDK?
JDK on ohjelmistokehitysympäristö, jota käytetään sovelmien ja Java sovelluksia. JDK:n täysi muoto on Java Kehityspaketti. Java kehittäjät voivat käyttää sitä Windows, macOS, Solaris, ja Linux. JDK auttaa heitä koodaamaan ja suorittamaan Java ohjelmia. On mahdollista asentaa useampi kuin yksi JDK-versio samalle tietokoneelle.
Mikä on JRE?
JRE on osa ohjelmistoa, joka on suunniteltu suorittamaan muita ohjelmistoja. Se sisältää luokkakirjastot, latausluokan ja JVM:n. Yksinkertaisesti sanottuna, jos haluat juosta Java ohjelman, jota tarvitset JRE. Jos et ole ohjelmoija, sinun ei tarvitse tehdä sitä asenna JDK, mutta vain JRE juoksemaan Java ohjelmia. Kaikki JDK-versiot toimitetaan kuitenkin mukana Java Runtime Environment, joten sinun ei tarvitse ladata ja asentaa JRE:tä erikseen tietokoneellesi. JRE:n täysi muoto on Java Runtime Environment.
Mikä on JVM?
JVM on moottori, joka tarjoaa ajonaikaisen ympäristön ajamiseen Java Koodi tai sovellukset. Se muuttaa Java tavukoodi konekieleksi. JVM on osa Java Run Environment (JRE). Sitä ei voi ladata ja asentaa erikseen. JVM:n asentamiseksi sinun on asennettava JRE. JVM:n täysi muoto on Java Virtuaalikone.
Monissa muissa ohjelmointikielissä kääntäjä tuottaa konekoodin tietylle järjestelmälle. Kuitenkin, Java kääntäjä tuottaa koodin virtuaalikoneen, jota kutsutaan nimellä JVM.
Miksi käyttää JDK:ta?
Tässä ovat tärkeät syyt JDK:n käyttöön:
- JDK sisältää kirjoittamiseen tarvittavat työkalut Java ohjelmat ja JRE niiden suorittamiseen.
- Se sisältää kääntäjän, Java sovellusten käynnistysohjelma, Appletviewer jne.
- Kääntäjä muuntaa sisään kirjoitetun koodin Java tavukoodiin.
- Java sovellusten käynnistysohjelma avaa JRE:n, lataa tarvittavan luokan ja suorittaa sen päämenetelmän.
Miksi käyttää JRE:tä?
Tässä ovat tärkeät syyt JRE:n käyttöön:
- JRE sisältää luokkakirjastoja, JVM:ää ja muita tukitiedostoja. Se ei sisällä mitään työkalua Java kehitys, kuten debuggeri, kääntäjä jne.
- Se käyttää tärkeitä pakettiluokkia, kuten math, swingetc, util, lang, awt ja runtime kirjastoja.
- Jos pitää juosta Java sovelmia, JRE on asennettava järjestelmääsi.
Miksi JVM?
Tässä ovat tärkeät syyt JVM:n käyttöön:
- JVM tarjoaa alustasta riippumattoman suoritustavan Java lähdekoodi.
- Siinä on lukuisia kirjastoja, työkaluja ja kehyksiä.
- Kun juoksee Java ohjelmaa, voit käyttää millä tahansa alustalla ja säästää paljon aikaa.
- JVM:n mukana tulee JIT (Just-in-Time) -kääntäjä, joka muuntaa Java lähdekoodin matalan tason konekielelle. Siksi se toimii nopeammin kuin tavallinen sovellus.
JDK:n ominaisuudet
Tässä ovat JDK:n tärkeät ominaisuudet:
- Sen avulla voit käsitellä useita laajennuksia yhdessä kiinnityslohkossa.
- JDK sisältää kaikki JRE:n ominaisuudet.
- Se sisältää kehitystyökaluja, kuten kääntäjän, debuggerin jne.
- JDK tarjoaa ympäristön kehittämiseen ja toteuttamiseen Java lähdekoodi.
- Se voidaan asentaa päälle Windows, Unix- ja Mac-käyttöjärjestelmät.
- Timanttioperaattoria voidaan käyttää yleisen tyyppisen rajapinnan määrittämisessä sen sijaan, että kirjoittaisit tarkan.
JRE:n ominaisuudet
Tässä ovat JRE:n tärkeimmät ominaisuudet:
- Java Runtime Environment on joukko työkaluja, joiden avulla JVM todella toimii.
- JRE sisältää käyttöönottoteknologian, mukaan lukien Java Web Start ja Java Kytkeä.
- Kehittäjät voivat helposti ajaa lähdekoodia JRE:ssä, mutta hän ei voi kirjoittaa ja kääntää sitä Java ohjelma.
- Se sisältää integraatiokirjastoja, kuten Java Tietokantayhteys (JDBC), Remote Method Invocation (RMI), Java Nimeämis- ja hakemistoliittymä (JNDI) ja paljon muuta.
- JRE:llä on JVM ja Java HotSpot-virtuaalikoneen asiakas.
JVM:n ominaisuudet
Tässä ovat JVM:n tärkeät ominaisuudet:
- Sen avulla voit ajaa sovelluksia pilviympäristössä tai laitteessasi.
- Java Virtuaalikone muuntaa tavukoodin konekohtaiseksi koodiksi.
- Se tarjoaa java-perustoiminnot, kuten muistinhallinnan, suojauksen, roskien keräämisen ja paljon muuta.
- JVM ajaa ohjelmaa käyttämällä kirjastoja ja tiedostoja, jotka on antanut Java Runtime Environment.
- JDK ja JRE molemmat sisältävät Java Virtuaalikone.
- Se voi suorittaa Java-ohjelman rivi riviltä, joten sitä kutsutaan myös tulkiksi.
- JVM on helposti muokattavissa, esimerkiksi sille voidaan varata minimi- ja maksimimuisti.
- Se on riippumaton laitteistosta ja käyttöjärjestelmästä. Joten voit kirjoittaa java-ohjelman kerran ja suorittaa sen missä tahansa.
Miten JDK toimii?
Tässä ovat JDK:n tärkeät osat:
- JDK ja JRE: JDK:n avulla ohjelmoijat voivat luoda ydintä Java ohjelmat, joita JRE voi ajaa, mukaan lukien JVM ja luokkakirjastot.
- Luokkakirjastot: Se on ryhmä dynaamisesti ladattavia kirjastoja, jotka Java ohjelma voi soittaa ajon aikana.
- Kääntäjät: On Java ohjelma, joka hyväksyy kehittäjien tekstitiedostot ja käännät ne Java luokan tiedosto. Se on kääntäjän antama yleinen tulosteen muoto, joka sisältää Java tavun koodi. sisään Java, ensisijainen kääntäjä on Javac.
- Virheenkorjaajat: Debuggeri on a Java ohjelma, jonka avulla kehittäjät voivat testata ja korjata virheitä Java ohjelmia.
- JavaAsiakirja: JavaDoc on Sun Microsystemsin laatima dokumentaatio Java. JavaDoc:ia voidaan käyttää API-dokumentaation luomiseen HTML-tiedostossa lähdeohjelmasta
Kuinka JRE toimii?
JRE:ssä on JVM-esiintymä, kirjastoluokat ja kehitystyökalut. Kun kirjoitat ja käännät Java koodi, kääntäjä luo luokkatiedoston, jossa on tavukoodi.
Tässä ovat JRE:n tärkeät osat:
- Luokkakuormaajat: Luokkalataaja lataa erilaisia luokkia, joita tarvitaan ajon suorittamiseen Java ohjelmoida. JVM käyttää kolmea luokkalataajaa, joita kutsutaan bootstrap-luokan latausohjelmaksi, laajennusluokan latausohjelmaksi ja järjestelmäluokan latausohjelmaksi.
- Tavukoodin varmentaja: Tavukoodin varmentaja tarkistaa tavukoodin, jotta koodi ei häiritse tulkkia.
- Tulkki: Kun luokat ladataan ja koodi on vahvistettu, tulkki lukee koodin rivi riviltä.
- Käyttöaika: Run-time on järjestelmä, jota käytetään pääasiassa ohjelmoinnissa kuvaamaan ajanjaksoa, jonka aikana tietty ohjelma on käynnissä.
- Laitteisto: Kun olet koonnut Java natiivikoodia, se toimii tietyllä laitteistoalustalla.
Tällä tavalla Java Ohjelma toimii JRE:ssä.
Kuinka JVM toimii?
Tässä ovat JVM:n tärkeät osat:
1) Class Loader
Luokkalataaja on alijärjestelmä, jota käytetään luokkatiedostojen lataamiseen. Se suorittaa kolme päätehtävää, ts. Lataus, linkitys ja alustus.
2) Menetelmäalue
JVM Method Area tallentaa luokan rakenteen, kuten metatiedot, koodin Java menetelmät ja jatkuva ajonaikainen pooli.
3) Kasa
Kaikki objektit, taulukot ja ilmentymämuuttujat tallennetaan kasaan. Tämä muisti on jaettu useiden säikeiden kesken.
4) JVM-kielipinot
Java kielipinot tallentavat paikalliset muuttujat ja niiden osittaiset tulokset. Jokaisella säikeellä on oma JVM-kielipinonsa, joka luodaan samanaikaisesti säiettä luotaessa. Uusi kehys luodaan, kun menetelmää kutsutaan, ja se poistetaan, kun menetelmän kutsuprosessi on valmis.
5) PC-rekisterit
PC-rekisterit tallentavat osoitteen Java virtuaalikoneen käsky, joka on parhaillaan käynnissä. sisään Java, jokaisella säikeellä on oma PC-rekisterinsä.
6) Alkuperäiset menetelmäpinot
Natiivit menetelmäpinot sisältävät alkuperäisen koodin käskyt riippuen alkuperäisestä kirjastosta. Se varaa muistia alkuperäisille pinoille tai käyttää minkä tahansa tyyppistä pinoa.
7) Suoritusmoottori
Se on eräänlainen ohjelmisto, jota käytetään ohjelmistojen, laitteistojen tai kokonaisten järjestelmien testaamiseen. Testin suoritusmoottori ei koskaan sisällä mitään tietoa testatusta tuotteesta.
8) Native Method -liittymä
Native Method Interface on ohjelmointikehys. Se sallii Java koodi, joka on käynnissä JVM:ssä kirjastojen ja alkuperäisten sovellusten kutsumiseksi.
9) Native Method Libraries
Native Libraries on kokoelma alkuperäiskirjastoja (C, C++), joita Execution Engine tarvitsee.
Ero JDK:n, JRE:n ja JVM:n välillä
Tässä ovat tärkeimmät erot JDK:n ja JRE:n ja JVM:n välillä:
JDK | JRE | JVM |
---|---|---|
JDK:n täysi muoto on Java Kehityspaketti. | JRE:n täysi muoto on Java Runtime Environment. | JVM:n täysi muoto on Java Virtuaalikone. |
JDK on ohjelmistokehityspaketti sovellusten kehittämiseen Java. | Se on ohjelmistopaketti, joka tarjoaa Java luokan kirjastot, joissa on suoritettavat komponentit Java koodi. | JVM suorittaa Java tavukoodin ja tarjoaa ympäristön sen suorittamiseen. |
JDK on alustariippuvainen. | JRE on myös alustariippuvainen. | JVM on alustasta riippumaton. |
Se sisältää työkaluja Java-koodin kehittämiseen, virheenkorjaukseen ja seurantaan. | Se sisältää luokkakirjastoja ja muita tukitiedostoja, joita JVM tarvitsee ohjelman suorittamiseen. | Ohjelmistokehitystyökalut eivät sisälly JVM:ään. |
Se on JRE:n supersetti | Se on JDK:n osajoukko. | JVM on JRE:n osajoukko. |
JDK:n avulla kehittäjät voivat luoda Java ohjelmat, jotka JRE ja JVM voivat suorittaa ja ajaa. | JRE on osa Java joka luo JVM:n. | On Java alustan komponentti, joka suorittaa lähdekoodia. |
JDK tulee asennusohjelman mukana. | JRE sisältää vain ympäristön lähdekoodin suorittamista varten. | JVM mukana sekä ohjelmistossa JDK että JRE. |