Was ist der Unterschied zwischen JVM und CLR?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen JVM und CLR ist, dass die JVM ist eine virtuelle Maschine, die verwendet wird, um Java-Bytecodes auszuführen, 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 Kompilieren eines Java-Quellcodes generiert wird. Es ist auf vielen Hardware- und Softwareplattformen verfügbar. Mit anderen Worten, JVM ist plattformabhängig. Auf der anderen Seite CLR oder Common Language Runtime bietet die Umgebung zum Ausführen von Programmen, die im.NET-Framework geschrieben wurden. Es bietet auch zusätzliche Dienste wie Typsicherheit, Ausnahmebehandlung, Garbage Collection, Thread-Management und Sicherheit.

CLR, Common Language Runtime, JVM, Java Virtual Machine

Was ist JVM

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

Beim Konvertieren des Java-Quellcodes in Bytecode wird dieser 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 hier, 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 im.NET-Framework in verschiedenen Sprachen wie C#, Visual Basic und F# schreiben. Aber nach der Kompilierung generiert es einen Zwischencode namens Microsoft Intermediate Language (MIL). 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 kann die definierte Aufgabe ausführen.

Inzwischen bietet die CLR mehrere Vorteile. Es bietet sprachübergreifende Integration, Ausnahmebehandlung, verbesserte Sicherheit und Bereitstellungsunterstützung. Darüber hinaus verbessert CLR die Leistung. Außerdem bietet es einen Garbage Collector, um den Speicher 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 sie in Java-Bytecode zu kompilieren. CLR ist eine virtuelle Maschine des Microsoft.NET-Frameworks, die die Ausführung von.NET-Programmen verwaltet. Dies ist also der grundlegende Unterschied zwischen JVM und CLR.

Vollständige Form

Verband

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

Hauptfunktionalität

Ein weiterer Unterschied zwischen JVM und CLR besteht darin, dass die JVM verwendet wird, um den Bytecode in Maschinencode zu konvertieren, die CLR jedoch die Laufzeitumgebung für das.NET-Framework bereitstellt.

Abschluss

JVM steht für Java Virtual Machine, während CLR für Common Language Runtime steht. Kurz gesagt besteht der Unterschied zwischen JVM und CLR 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. „Virtuelle Java-Maschine“. Wikipedia, Wikimedia Foundation, 29. September 2018, hier verfügbar.2. „.NET Framework – CLR“, Tutorials Point (India) Pvt. Ltd., 6. Dez. 2016, hier verfügbar.3. "Common Language Runtime." Wikipedia, Wikimedia Foundation, 5. September 2018, hier verfügbar.

Bild mit freundlicher Genehmigung:

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

Was ist der Unterschied zwischen JVM und CLR?