Forskellen mellem JRE vs JVM

Her vil vi forstå, hvad JVM (virtuel Java-maskine) er, hvad der er JRE (Java Runtime Environment). Desuden vil vi også undersøge de største forskelle mellem JVM og JRE. I dette emne skal vi lære om JRE vs JVM.

Hvad er JVM?

Java Virtual Machine (JVM) er en virtuel maskine, der findes på din computer og udfører Java-byte-kode. Java Virtual Machine forstår kun byte-kode, det er derfor, der er en javac-kompilator, der konverterer kildekoden (.java) til byte-kode (.klasse), som forstås af JVM. Selvom JVM installeret i forskellige operativsystemer er anderledes, er output produceret af JVM konsistent på tværs af alle operativsystemer.

Komponenter til JVM

Følgende er forskellige komponenter, der findes i JVM:

1. ClassLoader: Hovedfunktionen for klasselæseren er at læse .klassefilen og gemme bytekoden i JVM's metodeområde.

2. Metodeområde: Java Virtual Machines metodeområde gemmer alle klassrelaterede oplysninger om alle klasser, der indlæses af klasselæseren.

3. Heap Area: Heap Area er en del af JVM, hvor oprettede objekter er placeret. JVM opretter et klasseobjekt for hver .klassefil, der er indlæst af klasseladeren.

4. Stak: Denne del af JVM gemmer midlertidige variabler.

5. PC-registre: PC-registre fører en fortegnelse over, hvilken instruktion der er udført, og hvilken der er næste i linjen, der skal udføres.

6. Native Method Stack: Native Method Stack indeholder den oprindelige kodeinformation. Det er skrevet på andre programmeringssprog end java.

7. Execution Engine: Execution engine of jvm er ansvarlig for udførelsen af ​​bytecode eller kompileret kode. Udførelsesmotoren for jvm indeholder:

  • Virtuel processor: Den virtuelle processor er ansvarlig for at udføre operationskoder sekventielt.
  • Tolk: Tolken fortolker bytekoden. Det er ansvarligt for at læse strømmen af ​​byte-kode, fortolke bytecode-instruktioner og udføre dem gennem den virtuelle processor. Men ulempen ved tolken er, at når en metode kaldes flere gange, hver gang der er et krav om en ny fortolkning.
  • Just-In-Time (JIT) -kompiler: Den bruges dybest set til forbedring af ydelsen. Det bruges til at overvinde ulempen ved fortolkeren, når JVM finder gentagen kode, den bruger JIT-kompilatoren, der kompilerer bytekoden og ændrer den til indbygget kode. Denne native kode bruges direkte i gentagne metodekald, hvilket igen giver en drastisk forbedring af ydeevnen.

Fra de ovennævnte detaljerede komponenter kan JVM-funktioner opsummeres som:

  • JVM indlæser kode.
  • JVM verificerer den indlæste kode.
  • JVM udfører kode, hvis den er gyldig.
  • JVM giver et runtime-miljø.

Arbejdet med JVM kan forklares gennem nedenstående flow:

Hvad er JRE?

Java Runtime Environment er en del af Java-udviklingssæt (JDK).

Java Runtime Environment (JRE) er en installationspakke, der giver et miljø til at køre java-kode. Det skal bemærkes, at JRE kun bruges af slutbrugerne dem, der vil køre java-kode. JRE indeholder JVM i det, det er JVM er en undergruppe af JRE. Java Runtime Environment inkluderer følgende:

Implementeringsteknologier.

  1. Brugergrænseflade værktøjssæt som Abstract Window Toolkit (AWT), Swing, Java Naming og Directory Interface (JBDI), Java 2D, Print Service, Drag and Drop (DND) osv.
  2. Lang og brug biblioteker som lang and util, management, zip, refleksion, JAR, Preference API, Regular Expressions Concurrency og multithreading-værktøjer, Logging og andre.
  3. Basisbiblioteker inklusive Input-output (I / 0), matematik, netværk, tilsidesættelsesmekanisme Serialisering, Java XML-parsere, Java Native Interface (JNI).
  4. Integrationsbiblioteker for eksempel Interface Definition Language, Java DataBase Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming og Directory Interface (JNDI).
  5. Java Virtual Machine (JVM).

Sammenligning mellem hoved og hoved mellem JRE vs JVM (Infographics)

Nedenfor er de 8 øverste forskelle mellem JRE vs JVM

Vigtige forskelle mellem JRE vs JVM

Følgende er centrale forskelle mellem JRE vs JVM

  • JRE's vigtigste funktion er at tilvejebringe et runtime-miljø til at køre java-applikationer, mens JVM konverterer byte-kode til maskinkode til udførelse og giver platformuafhængighed.
  • JRE fungerer som container og jvm fungerer som indhold.
  • JRE er sammensat af JVM + biblioteker til at køre applikationer, mens jvm kun indeholder runtime-miljø til eksekvering af Java-bytecode.

Sammenligningstabel mellem JRE vs JVM

Lad os diskutere den bedste sammenligning mellem JRE vs JVM

Grundlag for sammenligningJREJVM
Fuld formDen fulde form for JRE er Java Runtime Environment.Den fulde form af JVM er Java Virtual Machine.
DefinitionJava Runtime Environment er en del af Java Development Kit (JDK), der består af en JVM, kerneklasser og supportbiblioteker. Dets vigtigste funktion er at give runtime-miljø til at køre java-kode.Java Virtual Machine (JVM) er som en virtuel computer, der udfører et sæt forkompilerede udsagn. Når en Java-compiler kompilerer kildekode, genererer den et sæt instruktioner kaldet bytecode (.class-filer). Java Virtual Machine tolker bytekodeinstruktioner og konverterer dem til maskinkode til dens udførelse.
Beholder og indholdJRE fungerer som en container, der indeholder JVM, biblioteker og andre filer. Derudover indeholder JRE ikke udviklingsværktøjer som compiler og debugger.JVM er en del af JRE. Det kan betragtes som en undergruppe af JRE.
UdviklingsformålDet bruges ikke til udviklingsformål.Det bruges til udviklingsformål.
Løbende formålDet bruges til at køre java-kode.Det bruges ikke til at køre java-kode.
Sammensat afJRE er sammensat af JVM + Biblioteker til at køre applikationer.Det indeholder kun et runtime-miljø til eksekvering af Java-bytecode.
Undergruppe afDet er en undergruppe af JDK.Det er en undergruppe af JRE.
VærktøjDet indeholder klassebiblioteker, der kræves for at køre programmer.Det indeholder ingen værktøjer.

Konklusion - JRE vs JVM

Fra artiklen har vi en klar forståelse af både Java Runtime Environment (JRE) og Java Virtual Machine (JVM), som er de vigtigste dele af Java Development Kit (JDK).

Anbefalede artikler

Dette er en guide til JRE vs JVM. Her har vi drøftet JRE vs JVM nøgleforskelle med infografik og sammenligningstabel. Du kan også se på de følgende artikler for at lære mere -

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

Kategori: