JVM vs JRE
Java er et programmeringsspråk på tvers av plattformer. Den følger også "skriv én gang, løp hvor som helst"-prinsippet. Programmet skrevet i Java kan kompileres til Java bytecode av Java-kompilatoren. Deretter kan bytekoden kjøres på 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øttefiler. JVM er en abstrakt datamaskin som fungerer som en formidler mellom plattformspesifikke JRE og Java-koden.
Hva er JVM?
JVM er en type virtuell maskin som brukes av maskiner for å kjøre Java-bytekode. Ifølge Sun Microsystems (som utviklet Java helt til det ble kjøpt av Oracle, helt nylig), 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 tilbys av JVM er automatisert unntakshåndtering. 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 imøtekommer "kompiler en gang, kjør hvor som helst"-naturen til Java-programmeringsspråket. Så lenge JVM kjører, kan Java-koden din kjøres på toppen av den, uavhengig av plattformen som brukes i maskinen. Dette er grunnen til at Java kalles et kryssplattform- eller flerplattformspråk.
Hva er JRE?
JRE er kjøringsmiljøet som Java-kode kjøres på. Vanligvis er JRE sammensatt av JVM, standard baseklasser (som implementerer basis Java API) og andre støttefiler. Type og struktur av JRE varierer avhengig av operativsystemet og CPU-arkitekturen. 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 hvilken som helst java-kode på maskinen din. JRE inkluderer imidlertid ikke en kompilator, debugger eller andre verktøy som trengs for utvikling av Java-programmer (som 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 brukes om hverandre i daglig bruk, har de sine forskjeller. JVM er en virtuell maskin som kjører på toppen av operativsystemet, mens JRE er kjøretidsmiljøet. JVM er en del av JRE. JVM-spesifikasjonen fungerer som koblingen mellom den plattformspesifikke JRE-implementeringen og standard Java-bibliotekene. Derfor er JVM enheten som gir abstraksjonen fra de indre implementeringsdetaljene til programmereren. Og den er ansvarlig for å tolke den kompilerte bytekoden. JVM trenger imidlertid basisbibliotekene og andre støttefiler for å utføre java-bytekoden. Men noen ganger identifiseres JRE ganske enkelt som en implementering av JVM.