Vad är skillnaden mellan JVM och CLR

De huvudskillnad mellan JVM och CLR är det JVM är en virtuell maskin som används för att utföra Java bytekoder medan CLR är en virtuell maskin som hanterar exekvering av .NET-program.

JVM eller Java Virtual Machine tillåter exekvering av bytekoden, som genereras genom att kompilera en Java-källkod. Den finns tillgänglig på många hårdvaru- och mjukvaruplattformar. Med andra ord är JVM plattformberoende. Å andra sidan, CLR eller Common Language Runtime ger miljön att utföra program skrivna i .NET-ramverket. Det ger också ytterligare tjänster, inklusive typsäkerhet, undantagshantering, skräpuppsamling, trådhantering och säkerhet.

Viktiga områden som omfattas

1. Vad är JVM
     - Definition, Funktionalitet
2. Vad är CLR
     - Definition, Funktionalitet
3. Vad är skillnaden mellan JVM och CLR
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

CLR, Common Language Runtime, JVM, Java Virtual Machine

Vad är JVM

Ett Java-program är en uppsättning instruktioner skrivna i Java-programmeringsspråket. Det ger instruktioner för datorn att utföra en viss uppgift. Dessutom kallar vi programmet programmerat av programmeraren som källkod. Denna källkod är läsbar och förståelig av programmeraren, men det är inte förståeligt av datorn. När du sammanställer en Java-källkod konverterar Java-kompilatorn som kodar till en mellankod som heter en bytecode. Därefter konverterar JVM denna bytekod till maskinkoden så att den kan utföra den uppgift som definieras i programmet.

När du konverterar Java-källkoden till bytekod skrivs den inte för den fysiska maskinen. Det är skrivet för JVM. Därför kan bytekoden utföras på vilken maskin som helst som har en JVM. Observera att bytekoden är plattformsoberoende medan JVM är plattformberoende.

Vad är CLR

CLR eller Common Language Runtime är en virtuell maskin som ger en runtime miljö för. NET Framework. Varje version av .NET-ramen består också av en CLR. Det kan utföra något program som är skrivet i .NET-ram, oavsett programmeringsspråk.

Dessutom kan programmeraren skriva program i .NET-ramverket på olika språk som C #, Visual Basic och, F #. Men efter sammanställningen genererar den en mellanliggande kod som heter Microsoft Intermediate Language (MIL). Därefter sammanställer Just-In-Compiler (JIT) den mellankoden i maskinkoden. Därför är denna slutliga maskinkod förståelig för datorn, och den kan utföra den definierade uppgiften.

Under tiden ger CLR flera fördelar. Det tillhandahåller cross-language integration, undantagshantering, förbättrad säkerhet och implementeringsstöd. Dessutom förbättrar CLR prestanda. Det ger också en sopsamlare för att hantera minnet och göra det enklare att utföra felsökning.

Skillnad mellan JVM och CLR

Definition

JVM är en virtuell maskin som gör att en dator kan köra Java-program och kompilera dem till Java bytecode. CLR är en virtuell maskin av Microsoft. NET Framework som hanterar utförandet av. NET-program. Således är detta den grundläggande skillnaden mellan JVM och CLR .

Fulla formen

Dessutom står JVM för Java Virtual Machine medan CLR står för Common Language Runtime.

Förening

JVM associerar också med Java-programmeringsspråk medan CLR associerar med .NET-ramverket.

Huvudfunktionalitet

En annan skillnad mellan JVM och CLR är att JVM används för att konvertera bytekoden till maskinkoden, men CLR ger runtime-miljön för .NET-ramverket.

Slutsats

JVM står för Java Virtual Machine medan CLR står för Common Language Runtime. Kortfattat är skillnaden mellan JVM och CLR att JVM är en virtuell maskin som kör Java bytekoder medan CLR är en virtuell maskin som hanterar exekveringen av .NET-program.

Referens

1. "Java Virtual Machine." Wikipedia, Wikimedia Foundation, 29 september 2018, Tillgänglig här.
2. ". NET Framework - CLR", Tutorials Point (Indien) Pvt. Ltd., 6 december 2016, Tillgänglig här.
3. "Common Language Runtime." Wikipedia, Wikimedia Foundation, 5 september 2018, Tillgänglig här.

Image Courtesy:

1. "JvmSpec7" Av Michelle Ridomi - Egent arbete (CC BY-SA 4.0) via Wikimedia Commons
2. "Microsoft. NET logo" Av Microsoft - (Public Domain) via Commons Wikimedia