JVM vs JRE
Java är ett högkvalitativt programmeringsspråk som är unikt i det sättet att program som skrivs på det kan utföras på nästan vilken plattform som helst. Men innan du kan köra programmet på en dator måste du installera viss programvara. vissa människor refererar till det som JVM, medan andra använder JRE. Även om de flesta hänvisar till samma sak finns det vissa skillnader mellan JVM och JRE. JVM är faktiskt en applikation som ingår i JRE. För att köra en applikation behöver du en JRE, som innehåller JVM.
JVM står för Java Virtual Machine och det skapar en virtuell dator som förstår koden med vilken Java-program skrivs in. Java-program är inte skrivna på ett OS-specifikt sätt. Detta ger det möjlighet att köra på vilken plattform som helst, men kräver att en JVM används för att i princip översätta kommandon från Java bytecode till den specifika maskinkoden.
Inte allt som behövs av alla program finns i JVM. Vissa finns i vad som kallas paketklasser. Paket som AWT, Swing, Lang, och många andra ger mer komplexa möjligheter till JVM. När du kombinerar alla dessa stödjande filer tillsammans med JVM, det är det som kallas JRE eller Java Runtime Environment. I enklaste termer är JRE en kombination av JVM och många stödjande filer som paket som ger miljön från vilket ett Java-program kan springa.
Eftersom en slutanvändare inte kan redigera eller skapa Java-program innehåller JRE inga filer relaterade till kodning, kontroll och felsökning av Java-program. allt som finns i ett annat Java-program. Detta minimerar storleken på JRE för att göra det enklare och snabbare för de flesta användare att ladda ner och installera JRE. Varje programplattform (dvs Windows, Linux, Mac) har sin egen JRE och JVM, som bara skulle fungera på den och ingen annan. Så du bör vara uppmärksam på att ladda ner en specifik JRE för det operativsystem du har. Varje JRE-version skulle alltid innehålla dess komplementära JVM så det råder ingen tvekan om att få fel JVM.
Sammanfattning:
1.JVM är bara en del av JRE
2.JRE innehåller Java-paketklasser bortsett från JVM