JVM vs JRE
Java er et tverrplattforms programmeringsspråk. Det overholder også prinsippet "skriv en gang, løp hvor som helst". Programmet som er skrevet i Java, kan kompileres til Java bytecode av Java-kompilatoren. Deretter kan bytekoden utfø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øttende filer. JVM er en abstrakt databehandlingsmaskin som fungerer som mellommann mellom plattformspesifikke JRE og Java-koden.
Hva er JVM?
JVM er en type virtuell maskin som brukes av maskiner til å utføre Java bytecode. Ifølge Sun Microsystems (som utviklet Java til det ble kjøpt av Oracle, nylig), er det mer enn 4 milliarder JVM-aktiverte enheter i verden. Mer spesifikt er Java Virtual Machine en abstrakt databehandlingsmaskin implementert på standard maskinvare og operativsystem. En av de viktige funksjonene fra JVM er automatisert unntakshåndtering. Vanligvis følger en samling av standardbiblioteker JVM. Faktisk er JRE et bunt som inneholder JVM og klassene som implementerer Java API. JVM er en svært viktig komponent, som plasserer "kompilere en gang, kjøre hvor som helst" natur Java-programmeringsspråket. Så lenge JVM kjører, kan Java-koden løpe på toppen av den, uavhengig av plattformen som brukes i maskinen. Derfor kalles Java et kryssplattform eller multiplattformsspråk.
Hva er JRE?
JRE er kjøremiljøet som Java-koden kjøres på. Vanligvis består JRE av JVM, standardbaserte klasser (som implementerer Java API-basen) og andre støttende filer. Type og struktur av JRE varierer avhengig av operativsystemet og CPU-arkitekturen. Når Java-koden kjøres, kommuniserer JRE med operativsystemet, som igjen vil snakke med tilhørende maskinvarekomponenter. Å 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 utviklingen 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 betingelsene JVM og JRE brukes i hverdagen, har de forskjeller. JVM er en virtuell maskin som kjører på toppen av operativsystemet, mens JRE er runtime-eksekveringsmiljøet. JVM er en del av JRE. JVM-spesifikasjon fungerer som koblingen mellom den plattformspesifikke JRE-implementeringen og standard Java-biblioteker. Derfor er JVM enheten som gir abstraksjonen fra de indre implementeringsdetaljer til programmereren. Og det er ansvarlig for å tolke kompilert bytecode. Imidlertid trenger JVM basebiblioteker og andre støttende filer til å utføre java bytecode. Men noen ganger er JRE bare identifisert som en implementering av JVM.