Ero JRE: n ja JVM: n välillä

Ymmärrämme tässä, mikä on JVM (Java-virtuaalikone), mikä on JRE (Java Runtime Environment). Lisäksi tutkimme myös suuria eroja JVM: n ja JRE: n välillä. Tässä aiheesta aiomme oppia JRE vs. JVM: stä.

Mikä on JVM?

Java-virtuaalikone (JVM) on virtuaalikone, joka sijaitsee tietokoneellasi ja suorittaa Java-tavukoodin. Java-virtuaalikone ymmärtää vain tavukoodin, minkä vuoksi on olemassa Java-kääntäjä, joka muuntaa lähdekoodin (.java) tavukoodiksi (.class), jonka JVM ymmärtää. Vaikka eri käyttöjärjestelmiin asennettu JVM on erilainen, JVM: n tuottama tuotos on yhdenmukainen kaikissa käyttöjärjestelmissä.

JVM: n komponentit

Seuraavat ovat JVM: n sisällä olevia komponentteja:

1. ClassLoader: Luokkalataimen päätoiminto on lukea .class-tiedosto ja tallentaa tavukoodi JVM: n menetelmäalueelle.

2. Menetelmäalue: Java-virtuaalikoneen menetelmä-alue tallentaa kaikki luokkakohtaiset tiedot kaikista luokan lataajista luokista.

3. Kasa-alue: kasa-alue on osa JVM: ää, jossa luodut objektit sijaitsevat. JVM luo luokkaobjektin jokaiselle luokkalataimen lataamalle .class-tiedostolle.

4. Pino: Tämä JVM-osa tallentaa väliaikaiset muuttujat.

5. PC-rekisterit: PC-rekisterit pitävät kirjaa suoritetuista käskyistä ja jotka ovat seuraavaksi suoritettavan rivin kohdalla.

6. Alkuperäisen menetelmän pino: Alkuperäisen menetelmän pino sisältää alkuperäisen koodin tiedot. Se on kirjoitettu muilla ohjelmointikielillä kuin Java.

7. Suoritusmoottori: Jvm: n suoritusmoottori vastaa tavukoodin tai kootun koodin suorittamisesta. Jvm: n suoritusmoottori sisältää:

  • Virtuaaliprosessori: Virtuaaliprosessori vastaa operaatiokoodien suorittamisesta peräkkäin.
  • Tulkki: Tulkki tulkitsee tavukoodin. Sen tehtävänä on lukea tavukoodivirta, tulkita tavukoodiohjeet ja suorittaa ne virtuaaliprosessorin kautta. Tulkin haittana on kuitenkin se, että kun yhtä menetelmää kutsutaan useita kertoja, joka kerta tarvitaan uusi tulkinta.
  • Just-In-Time (JIT) -kääntäjä: Sitä käytetään periaatteessa suorituskyvyn parantamiseen. Sitä käytetään tulkinta-aseman poistamiseksi, kun JVM löytää toistetun koodin. Se käyttää JIT-kääntäjää, joka kokoaa tavukoodin ja muuttaa sen natiivikoodiksi. Tätä natiivikoodia käytetään suoraan toistuvissa menetelmäkutsuissa, mikä puolestaan ​​parantaa suorituskykyä huomattavasti.

Edellä lueteltujen komponenttien perusteella JVM: n toiminnot voidaan tiivistää seuraavasti:

  • JVM lataa koodin.
  • JVM tarkistaa ladatun koodin.
  • JVM suorittaa koodin, jos se on kelvollinen.
  • JVM tarjoaa runtime-ympäristön.

JVM: n toiminta voidaan selittää alla olevan virtauksen kautta:

Mikä on JRE?

Java Runtime Environment on osa Java-kehityspakettia (JDK).

Java Runtime Environment (JRE) on asennuspaketti, joka tarjoaa ympäristön Java-koodin suorittamiseen. On huomattava, että JRE: tä käyttävät vain loppukäyttäjät, jotka haluavat suorittaa Java-koodin. JRE sisältää JVM: n JJM on JRE: n osajoukko. Java Runtime Environment sisältää seuraavat:

Käyttöönototeknologiat.

  1. Käyttöliittymätyökalut, kuten Abstract Window Toolkit (AWT), Swing, Java Naming and Directory Interface (JBDI), Java 2D, Print Service, Drag and Drop (DND) jne.
  2. Lang- ja util-kirjastot, kuten lang ja util, hallinta, zip, heijastus, JAR, Preference API, Regular Expressions Concurrency and multithreading -apuohjelmat, Logging ja muut.
  3. Peruskirjastokokonaisuudet, kuten tulo-lähtö (I / 0), matematiikka, verkottuminen, ohitusmekanismin sarjoittaminen, Java XML -jäsentäjät, Java Native Interface (JNI).
  4. Integrointikirjastot, esimerkiksi käyttöliittymämäärityskieli, Java DataBase -yhteydet (JDBC), etämenetelmäkutsu (RMI), Java-nimeäminen ja hakemistorajapinta (JNDI).
  5. Java-virtuaalikone (JVM).

Head to Head -vertailu JRE: n ja JVM: n välillä (infografia)

Alla on 8 parasta eroa JRE: n ja JVM: n välillä

Keskeiset erot JRE: n ja JVM: n välillä

Seuraavassa on tärkeimmät erot JRE: n ja JVM: n välillä

  • JRE: n päätehtävänä on tarjota runtime-ympäristö Java-sovellusten suorittamiseksi, kun taas JVM muuntaa tavukoodin konekoodiksi suorittamista varten ja tarjoaa alustan riippumattomuuden.
  • JRE toimii säiliönä ja jvm sisällönä.
  • JRE koostuu JVM + -kirjastoista sovellusten ajamiseen, kun taas jvm sisältää vain runtime-ympäristön Java-tavukoodin suorittamiseen.

Vertailutaulukko JRE: n ja JVM: n välillä

Keskustelemme parhaasta vertailusta JRE: n ja JVM: n välillä

Vertailun perusteetJREJVM
Täysi muotoJRE: n koko muoto on Java Runtime Environment.JVM: n täydellinen muoto on Java Virtual Machine.
MääritelmäJava Runtime Environment on osa Java Development Kitiä (JDK), joka koostuu JVM: stä, ydinluokista ja tukikirjastoista. Sen päätehtävä on tarjota runtime-ympäristö Java-koodin suorittamiseksi.Java-virtuaalikone (JVM) on kuin virtuaalinen tietokone, joka suorittaa joukon esikäännettyjä lauseita. Kun Java-kääntäjä kääntää lähdekoodin, se tuottaa joukon ohjeita, joita kutsutaan tavukoodiksi (.class-tiedostot). Java-virtuaalikone tulkitsee tavukoodiohjeet ja muuntaa ne konekoodiksi suorittamista varten.
Säiliö ja sisältöJRE toimii säiliönä, joka sisältää JVM: n, kirjastot ja muut tiedostot. Lisäksi JRE ei sisällä kehitystyökaluja, kuten kääntäjä ja virheenkorjaus.JVM on osa JRE: tä. Sitä voidaan pitää JRE: n osajoukona.
Kehityksen tarkoitusSitä ei käytetä kehitystarkoituksiin.Sitä käytetään kehitystarkoituksiin.
KäyttötarkoitusSitä käytetään Java-koodin suorittamiseen.Sitä ei käytetä Java-koodin suorittamiseen.
SisältääJRE koostuu JVM + -kirjastoista sovellusten ajamiseen.Se sisältää vain runtime-ympäristön Java-tavukoodin suorittamiseen.
OsajoukkoSe on JDK: n osajoukko.Se on JRE: n osajoukko.
TyökalutSe sisältää luokan kirjastot, joita vaaditaan ohjelmien suorittamiseen.Se ei sisällä työkaluja.

Johtopäätös - JRE vs. JVM

Artikkelin perusteella meillä on selkeä käsitys sekä Java Runtime Environment (JRE) että Java Virtual Machine (JVM), jotka ovat Java Development Kit (JDK): n tärkeimmät osat.

Suositellut artikkelit

Tämä on opas JRE vs JVM: ään. Täällä olemme keskustelleet JRE vs JVM -näppäineroista infografian ja vertailutaulukon kanssa. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Java vs Node JS
  2. Groovy vs Java
  3. Java vs. C #
  4. Java vs. JavaScript