JVM vs JRE
Java är ett tvärspråkigt programmeringsspråk. Det följer också principen "skriv en gång, spring någonstans". Programmet som är skrivet i Java kan kompileras till Java bytecode av Java-kompilatorn. Sedan kan bytekoden utföras på vilken plattform som helst som kör JRE (Java Runtime Environment). JRE innehåller JVM (Java Virtual Machine), basbibliotek (som implementerar Java API) och andra stödjande filer. JVM är en abstrakt datormaskin som fungerar som en medlare mellan de specifika JRE-plattformarna och Java-koden.
Vad är JVM?
JVM är en typ av virtuell maskin som används av maskiner för att utföra Java bytecode. Enligt Sun Microsystems (som utvecklade Java tills det köptes av Oracle, nyligen) finns det mer än 4 miljarder JVM-aktiverade enheter i världen. Mer specifikt är Java Virtual Machine en abstrakt datormaskin som implementeras på standard maskinvara och operativsystem. En av de viktigaste funktionerna som tillhandahålls av JVM är automatiserad undantagshantering. Vanligtvis följer en samling standardbibliotek med JVM. Faktum är att JRE är ett paket som innehåller JVM och de klasser som implementerar Java API. JVM är en mycket viktig komponent som rymmer "kompilera en gång, springa överallt" natur Java-programmeringsspråket. Så länge JVM körs kan din Java-kod springa ovanpå den, oavsett vilken plattform som används i maskinen. Det här är anledningen till att Java kallas ett plattforms- eller multiplattformsspråk.
Vad är JRE?
JRE är den exekveringsmiljö där Java-koden körs. JRE består vanligtvis av JVM, standardbasklasser (som implementerar bas Java API) och andra stödjande filer. Typ och struktur för JRE varierar beroende på operativsystem och CPU-arkitekturen. När Java-koden körs, kommer JRE kommunicera med operativsystemet, som i sin tur kommer att prata med motsvarande hårdvarukomponenter. Att ha JRE installerat på ditt system är ett måste för att köra någon Java-kod på din maskin. JRE innehåller emellertid inte en kompilator, debugger eller andra verktyg som behövs för utvecklingen av Java-program (t.ex. appletviewer och javac). Om du behöver utveckla program i Java måste du ha JDK (Java Development Kit), som även innehåller JRE.
Vad är skillnaden mellan och JVM och JRE?
Även om termerna JVM och JRE används i vardagen, används de omväxlande, de har sina skillnader. JVM är en virtuell maskin som körs ovanpå operativsystemet, medan JRE är runtime-exekveringsmiljön. JVM är en del av JRE. JVM-specifikation fungerar som länken mellan det plattformsspecifika JRE-genomförandet och de vanliga Java-biblioteken. Därför är JVM den enhet som ger abstraktionen från den inre implementeringsinformationen till programmeraren. Och det är ansvaret för att tolka den sammanställda bytekoden. JVM behöver dock basbibliotek och andra stödjande filer för att utföra java bytecode. Men ibland är JRE helt enkelt identifierat som ett genomförande av JVM.