Was ist der Unterschied zwischen JVM und CLR

Das Hauptunterschied zwischen JVM und CLR ist das die JVM ist eine virtuelle Maschine, die zum Ausführen von Java-Bytecodes verwendet wird, während die CLR eine virtuelle Maschine ist, die die Ausführung von .NET-Programmen verwaltet.

JVM oder Java virtuelle Maschine ermöglicht die Ausführung des Bytecodes, der durch das Kompilieren eines Java-Quellcodes erzeugt wird. Es ist in vielen Hardware- und Softwareplattformen verfügbar. Mit anderen Worten, JVM ist plattformabhängig. Auf der anderen Seite CLR oder Common Language Runtime stellt die Umgebung zum Ausführen von in .NET Framework geschriebenen Programmen bereit. Darüber hinaus werden zusätzliche Services bereitgestellt, darunter Typensicherheit, Ausnahmebehandlung, Speicherbereinigung, Thread-Verwaltung und Sicherheit.

Wichtige Bereiche

1. Was ist JVM?
     - Definition, Funktionalität
2. Was ist CLR?
     - Definition, Funktionalität
3. Was ist der Unterschied zwischen JVM und CLR
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

CLR, Common Language Runtime, JVM, Java Virtual Machine

Was ist JVM?

Ein Java-Programm besteht aus einer Reihe von Anweisungen, die in der Java-Programmiersprache geschrieben sind. Es enthält Anweisungen für den Computer, um eine bestimmte Aufgabe auszuführen. Außerdem nennen wir das vom Programmierer geschriebene Programm als Quellcode. Dieser Quellcode ist für den Programmierer lesbar und verständlich, für den Computer jedoch nicht verständlich. Beim Kompilieren eines Java-Quellcodes konvertiert der Java-Compiler diesen Code in einen als Bytecode bezeichneten Zwischencode. Anschließend konvertiert die JVM diesen Bytecode in den Maschinencode, damit sie die im Programm definierte Task ausführen kann.

Wenn Sie den Java-Quellcode in Bytecode konvertieren, wird er nicht für die physische Maschine geschrieben. Es ist für die JVM geschrieben. Daher kann der Bytecode auf jeder Maschine ausgeführt werden, die über eine JVM verfügt. Beachten Sie hierbei, dass der Bytecode plattformunabhängig ist, während JVM plattformabhängig ist.

Was ist CLR?

CLR oder Common Language Runtime ist eine virtuelle Maschine, die eine Laufzeitumgebung für das .NET-Framework bereitstellt. Außerdem besteht jede Version des .NET-Frameworks aus einer CLR. Es kann jedes in .NET Framework geschriebene Programm unabhängig von der Programmiersprache ausführen.

Außerdem kann der Programmierer Programme in .NET Framework in verschiedenen Sprachen wie C #, Visual Basic und, F # schreiben. Nach der Kompilierung wird jedoch ein Intermediate-Code (MIL - Intermediate Language) generiert. Als Nächstes kompiliert der Just-In-Compiler (JIT) diesen Zwischencode in Maschinencode. Daher ist dieser endgültige Maschinencode für den Computer verständlich und er kann die definierte Aufgabe ausführen.

Mittlerweile bietet die CLR mehrere Vorteile. Sie bietet sprachübergreifende Integration, Ausnahmebehandlung, erweiterte Sicherheit und Unterstützung bei der Bereitstellung. Darüber hinaus verbessert CLR die Leistung. Außerdem wird ein Speicherbereiniger bereitgestellt, um den Arbeitsspeicher zu verwalten und das Debugging zu vereinfachen.

Unterschied zwischen JVM und CLR

Definition

JVM ist eine virtuelle Maschine, die es einem Computer ermöglicht, Java-Programme auszuführen und diese in Java-Bytecode zu kompilieren. CLR ist eine virtuelle Maschine von Microsoft .NET Framework, die die Ausführung von .NET-Programmen verwaltet. Dies ist also der grundlegende Unterschied zwischen JVM und CLR .

Vollständige Form

Darüber hinaus steht JVM für Java Virtual Machine, während CLR für Common Language Runtime steht.

Verband

Außerdem ist die JVM mit der Java-Programmiersprache verknüpft, während CLR mit dem .NET-Framework verknüpft ist.

Hauptfunktionalität

Ein weiterer Unterschied zwischen JVM und CLR besteht darin, dass die JVM zum Konvertieren des Bytecodes in Maschinencode verwendet wird. Die CLR stellt jedoch die Laufzeitumgebung für .NET Framework bereit.

Fazit

JVM steht für Java Virtual Machine, während CLR für Common Language Runtime steht. Kurz gesagt, der Unterschied zwischen JVM und CLR besteht darin, dass die JVM eine virtuelle Maschine ist, die Java-Bytecodes ausführt, während die CLR eine virtuelle Maschine ist, die die Ausführung von .NET-Programmen verwaltet.

Referenz

1. "Java Virtual Machine". Wikipedia, Wikimedia Foundation, 29. September 2018, hier verfügbar.
2. “.NET Framework - CLR”, Tutorials Point (India) Pvt. Ltd., 6. Dezember 2016, hier verfügbar.
3. "Common Language Runtime". Wikipedia, Wikimedia Foundation, 5. September 2018, hier verfügbar.

Bildhöflichkeit:

1. “JvmSpec7" Von Michelle Ridomi - Eigene Arbeit (CC BY-SA 4.0) über Commons Wikimedia
2. „Microsoft .NET-Logo“ von Microsoft - (Public Domain) über Commons Wikimedia