JVM vs JRE
Java er et programmeringsspråk på tvers av plattformer. Den overholder også "skriv en gang, løp hvor som helst" -prinsippet. Programmet skrevet i Java kan kompileres i Java bytecode av Java kompilatoren. Deretter kan bytekoden utføres på en hvilken som helst plattform som kjører JRE (Java Runtime Environment). JRE inkluderer JVM (Java Virtual Machine), basebiblioteker (som implementerer Java API) og andre støttende filer. JVM er en abstrakt datamaskin som fungerer som en formidler mellom plattformsspesifikk JRE og Java-koden.
Hva er JVM?
JVM er en type virtuell maskin som brukes av maskiner for å utføre Java bytecode. I følge Sun Microsystems (som nylig utviklet Java til det ble kjøpt av Oracle), er det mer enn 4 milliarder JVM-aktiverte enheter i verden. Mer spesifikt er Java Virtual Machine en abstrakt datamaskin implementert på standard maskinvare og operativsystem. En av de viktige funksjonene som JVM tilbyr, er automatisert unntaksbehandling. Vanligvis følger en samling standardbiblioteker med JVM. Faktisk er JRE en pakke som inneholder JVM og klassene som implementerer Java API. JVM er en veldig viktig komponent som passer til "kompilere en gang, kjør hvor som helst" naturen til Java-programmeringsspråket. Så lenge JVM kjører, kan Java-koden kjøre på toppen av den, uavhengig av plattformen som brukes i maskinen. Dette er grunnen til at Java kalles et språk på tvers av plattformer eller flere plattformer.
Hva er JRE?
JRE er kjøringsmiljøet som Java-kode kjøres på. Vanligvis er JRE sammensatt av JVM, standard baseklasser (som implementerer base Java API) og andre støttende filer. Type og struktur på JRE varierer avhengig av operativsystem og CPU-arkitektur. Når Java-koden kjøres, vil JRE kommunisere med operativsystemet, som igjen vil snakke med de tilsvarende maskinvarekomponentene. Å ha JRE installert på systemet ditt er et must for å kjøre en Java-kode på maskinen din. Imidlertid inkluderer JRE ikke en kompilator, feilsøking eller andre verktøy som trengs for utvikling av Java-programmer (for eksempel appletviewer og javac). Hvis du trenger å utvikle programmer i Java, må du ha JDK (Java Development Kit), som også inkluderer JRE.
Hva er forskjellen mellom og JVM og JRE?
Selv om begrepene JVM og JRE i hverdagen brukes om hverandre, har de forskjellene. JVM er en virtuell maskin som kjører på toppen av operativsystemet, mens JRE er miljøet for kjøring av kjøretid. JVM er en del av JRE. JVM-spesifikasjon fungerer som koblingen mellom plattformspesifikk JRE-implementering og standard Java-biblioteker. Derfor er JVM enheten som gir abstraksjonen fra de indre implementeringsdetaljene til programmereren. Og det er ansvarlig for å tolke den kompilerte bykoden. Imidlertid trenger JVM basebiblioteker og andre støttefiler for å utføre java bytecode. Men noen ganger blir JRE ganske enkelt identifisert som en implementering av JVM.