Razlika između JRE i JVM

Ovdje ćemo shvatiti što je JVM (Java virtualni stroj), što je JRE (Java Runtime Environment). Nadalje, proučit ćemo i glavne razlike između JVM-a i JRE-a. U ovoj ćemo temi upoznati JRE i JVM.

Što je JVM?

Java virtualni stroj (JVM) virtualni je stroj koji boravi na vašem računalu i izvršava java byte kod. Java virtualni stroj razumije samo bajtni kod i zato postoji javac prevodilac koji pretvara izvorni kod (.java) u bajtni kod (.class) koji razumije JVM. Iako je JVM instaliran u različitim operativnim sustavima različit, izlaz koji proizvodi JVM je dosljedan u svim operativnim sustavima.

Dijelovi JVM-a

Sljedeće su različite komponente prisutne u JVM:

1. ClassLoader: Glavna funkcija učitavača klase je čitanje .class datoteke i spremanje bytecode-a u području metode JVM.

2. Područje metode: Područje metode Java Virtual Machine pohranjuje sve podatke vezane za razred svih klasa koje učitava učitavač klase.

3. Heap Area: Heap Area je dio JVM-a na kojem se nalaze stvoreni objekti. JVM stvara objekt klase za svaku .class datoteku koju učitava učitavač klase.

4. Slaganje: Ovaj dio JVM pohranjuje privremene varijable.

5. PC Registri: PC Registri vode evidenciju o tome koja je instrukcija izvršena i koja je sljedeća linija za izvršenje.

6. Stack Native Method: Stage izvornih metoda sadrži podatke izvornog koda. Napisana je na drugim programskim jezicima osim jave.

7. Execution Engine: Izvršni mehanizam jvm odgovoran je za izvršavanje bajt-koda ili sastavljenog koda. Izvršni mehanizam jvm sadrži:

  • Virtualni procesor: Virtualni procesor odgovoran je za izvršenje operativnih kodova uzastopno.
  • Prevoditelj: Tumač tumači bajt kod. Odgovorna je za čitanje toka bajt koda, tumačenje uputa bajt kodova i njihovo izvršavanje putem virtualnog procesora. Ali nedostatak tumača je taj što se jedna metoda poziva više puta, svaki put postoji zahtjev za novim tumačenjem.
  • Just-in-Time (JIT) prevodilac: u osnovi se koristi za poboljšanje performansi. Koristi se za prevladavanje nedostataka interpretera kada JVM pronađe ponovljeni kod, koristi JIT prevodilac koji sastavlja bajt kod i preinači ga u izvorni kod. Ovaj se izvorni kod izravno koristi u ponovljenim pozivima s metodama, što zauzvrat omogućuje drastično poboljšanje performansi.

Od gore navedenih detalja, funkcije JVM-a mogu se sažeti kao:

  • JVM učitava kod.
  • JVM provjerava učitani kod.
  • JVM izvršava kod ako je valjan.
  • JVM pruža okruženje za vrijeme izvođenja.

Rad JVM-a može se objasniti donjim protokom:

Što je JRE?

Java Runtime Environment dio je Java razvojnog kompleta (JDK).

Java Runtime Environment (JRE) je instalacijski paket koji pruža okruženje za pokretanje java koda. Treba napomenuti da JRE koriste samo krajnji korisnici koji žele pokrenuti java kod. JRE sadrži JVM u sebi koji je JVM je podskup JRE. Java Runtime Environment uključuje sljedeće:

Tehnologije primjene.

  1. Alati korisničkog sučelja poput Sažetak alata za prozore (AWT), ljuljanje, Java imenovanje i sučelje direktorija (JBDI), Java 2D, usluga ispisa, povlačenje i ispuštanje (DND) itd.
  2. Lang i uslužne knjižnice kao što su lang i util, upravljanje, zip, refleksija, JAR, Preference API, Regular Express Express Concurrency i multithreading uslužni programi, Logging i druge.
  3. Osnovne knjižnice, uključujući ulaz-izlaz (I / 0), matematiku, umrežavanje, mehanizam za poništavanje serializacije, Java XML parsere, Java Native Interface (JNI).
  4. Integracijske knjižnice, na primjer, jezik definicije sučelja, povezivanje Java DataBase (JDBC), poziv na daljinski način (RMI), Java imenovanje i sučelje direktorija (JNDI).
  5. Java virtualni stroj (JVM).

Usporedba između JRE i JVM (Infographics)

Ispod je 8 najboljih razlika između JRE i JVM

Ključne razlike između JRE i JVM

Slijede ključne razlike između JRE i JVM

  • Glavna funkcija JRE je osigurati vrijeme izvođenja za pokretanje java aplikacija, dok JVM pretvara bajtni kod u strojni kod za izvršenje i pruža neovisnost platforme.
  • JRE djeluje kao spremnik, a jvm kao sadržaj.
  • JRE se sastoji od JVM + Libraries za pokretanje aplikacija, dok jvm sadrži samo okruženje za izvršavanje Java bajtova.

Tabela usporedbe između JRE i JVM

Razgovarajmo o gornjoj usporedbi između JRE i JVM

Osnove usporedbeJREJVM
Cijela formaPotpuni oblik JRE je Java Runtime Environment.Potpuni oblik JVM-a je Java Virtual Machine.
definicijaJava Runtime Environment dio je Java Development Kit-a (JDK) koji se sastoji od JVM-a, jezgre klase i knjižnica podrške. Njegova glavna funkcija je osigurati vrijeme izvođenja za pokretanje java koda.Java virtualni stroj (JVM) je poput virtualnog računala koje izvršava skup unaprijed sastavljenih izjava. Kada Java kompajler sastavi izvorni kôd, generira skup uputa nazvanih bytecode (.class datoteke). Java virtualni stroj interpretira upute bajt kodova i pretvara ih u strojni kod za njegovo izvršavanje.
Sadržaj i sadržajJRE djeluje kao spremnik koji sadrži JVM, knjižnice i druge datoteke. Štoviše, JRE ne sadrži razvojne alate kao što su kompajler i ispravljanje pogrešaka.JVM je dio JRE. Može se smatrati podskupom JRE.
Razvojna svrhaNe koristi se u razvojne svrhe.Koristi se u razvojne svrhe.
Svrha trčanjaKoristi se za pokretanje java koda.Ne koristi se za pokretanje java koda.
Sastavljeno odJRE se sastoji od JVM + Biblioteke za pokretanje aplikacija.Sadrži samo okruženje za izvršavanje Java bajt kodova.
Podvrsta odTo je podskup JDK.To je podskupina JRE.
alatSadrži knjižnice klasa koje su potrebne za pokretanje programa.Ne sadrži nikakve alate.

Zaključak - JRE vs JVM

Iz članka imamo jasno razumijevanje i Java Runtime Environment (JRE), i Java Virtual Machine (JVM) koji su najvažniji dijelovi Java Development Kit (JDK).

Preporučeni članci

Ovo je vodič JRE-a i JVM-a. Ovdje smo raspravljali o JRE vs JVM ključnim razlikama s infografikom i usporednom tablicom. Možete također pogledati sljedeće članke da biste saznali više -

  1. Java vs čvor JS
  2. Groovy vs Java
  3. Java u odnosu na C #
  4. Java vs JavaScript

Kategorija: