Ero JVM n ja JRE n välillä

JVM vs. JRE

Java on alustojen välinen ohjelmointikieli. Se noudattaa myös “kirjoita kerran, aja minnekään” -periaatetta. Java-kääntäjä voi kääntää Java-kirjoitetun ohjelman Java-tavukoodiin. Sitten tavukoodi voidaan suorittaa millä tahansa alustalla, jolla on JRE (Java Runtime Environment). JRE sisältää JVM: n (Java Virtual Machine), tukikirjastot (joka toteuttaa Java API: n) ja muut tukitiedostot. JVM on abstrakti tietokone, joka toimii välittäjänä alustakohtaisen JRE: n ja Java-koodin välillä.

Mikä on JVM?

JVM on tyyppinen virtuaalikone, jota koneet käyttävät Java-tavukoodin suorittamiseen. Sun Microsystemsin (joka kehitti Java-tekniikkaa, kunnes Oracle osti sen aivan viime aikoina) mukaan maailmassa on yli 4 miljardia JVM-yhteensopivaa laitetta. Tarkemmin sanottuna Java Virtual Machine on abstrakti tietokone, joka on toteutettu vakiolaitteistoon ja käyttöjärjestelmään. Yksi JVM: n tarjoamista tärkeistä toiminnoista on automaattinen poikkeusten käsittely. Tyypillisesti vakiokirjastokokoelma seuraa JVM: ää. Itse asiassa JRE on kimppu, joka sisältää JVM: n ja Java API: n toteuttavat luokat. JVM on erittäin tärkeä komponentti, johon mahtuu Java-ohjelmointikielen "koota kerran, aja mihin tahansa" luonne. Niin kauan kuin JVM on käynnissä, Java-koodisi voi toimia sen päällä koneessa käytetystä alustasta riippumatta. Siksi Java kutsutaan monialustaiseksi kieleksi.

Mikä on JRE?

JRE on suoritusympäristö, jolla Java-koodia käytetään. Tyypillisesti JRE koostuu JVM: stä, vakiokantaluokista (jotka toteuttavat Java-perustason API: n) ja muista tukitiedostoista. JRE: n tyyppi ja rakenne vaihtelevat käyttöjärjestelmän ja CPU-arkkitehtuurin mukaan. Kun Java-koodi suoritetaan, JRE kommunikoi käyttöjärjestelmän kanssa, joka puolestaan ​​puhuu vastaavien laitteistokomponenttien kanssa. JRE: n asentaminen järjestelmään on välttämätöntä, jotta koneesi Java-koodi voidaan suorittaa. JRE ei kuitenkaan sisällä kääntäjää, virheenkorjainta tai muita Java-ohjelmien kehittämiseen tarvittavia työkaluja (kuten appletviewer ja Java). Jos haluat kehittää Java-ohjelmia, sinulla on oltava JDK (Java Development Kit), joka sisältää myös JRE: n.

Mikä on ero JVM: n ja JRE: n välillä?

Vaikka päivittäisessä käytössä termejä JVM ja JRE käytetään keskenään, niillä on eroja. JVM on virtuaalikone, joka toimii käyttöjärjestelmän päällä, kun taas JRE on ajonaikainen suoritusympäristö. JVM on osa JRE: tä. JVM-määritys toimii linkkinä käyttöjärjestelmäkohtaisen JRE-toteutuksen ja tavallisten Java-kirjastojen välillä. Siksi JVM on kokonaisuus, joka tarjoaa abstraktin sisäisistä toteutustiedoista ohjelmoijalle. Ja se on vastuussa kootun tavukoodin tulkinnasta. JVM tarvitsee kuitenkin peruskirjastoja ja muita tukitiedostoja Java-tavukoodin suorittamiseksi. Mutta joskus JRE tunnistetaan yksinkertaisesti JVM: n toteuttajaksi.