Website-Suche

Grundlegendes zum Java-Compiler und zur Java Virtual Machine – Teil 4


Bis jetzt haben wir die Arbeits- und Codestruktur von Java sowie die Klasse, die Hauptmethode und die Schleifensteuerung in Java durchgesehen. Hier in diesem Beitrag werden wir sehen, was Java Compiler und Java Virtual Machine sind. Wofür sind sie gedacht und welche Rollen haben sie?

Was ist ein Java-Compiler?

Java ist eine stark typisierte Sprache, was bedeutet, dass die Variable die richtige Art von Daten enthalten muss. In einer stark typisierten Sprache kann eine Variable keinen falschen Datentyp enthalten. Dies ist eine Sicherheitsfunktion, die in der Programmiersprache Java sehr gut implementiert ist.

Der Java-Compiler ist dafür verantwortlich, die Variablen auf etwaige Verstöße beim Halten des Datentyps zu überprüfen. Zur Laufzeit können einige Ausnahmen auftreten, die für die dynamische Bindungsfunktion von Java obligatorisch sind. Während der Ausführung eines Java-Programms kann es neue Objekte enthalten, die zuvor nicht vorhanden waren. Um ein gewisses Maß an Flexibilität zu gewährleisten, sind daher einige Ausnahmen im Datentyp zulässig, den eine Variable enthalten kann.

Der Java-Compiler legt den Filter für diejenigen Codeteile fest, die mit Ausnahme der Kommentare nie kompiliert werden. Der Compiler analysiert die Kommentare nicht und lässt sie unverändert. Java-Code unterstützt drei Arten von Kommentaren innerhalb des Programms.


1. /* COMMENT HERE */
2. /** DOCUMENTATION COMMENT HERE */
3. // COMMENT HERE

Alles, was zwischen /* und */ oder /** und */ oder nach steht // wird vom Java Compiler ignoriert.

Der Java-Compiler ist für die strenge Prüfung jeglicher Syntaxverletzung verantwortlich. Der Java-Compiler ist als Bytecode-Compiler konzipiert, d. h. er erstellt eine Klassendatei aus der eigentlichen Programmdatei, die ausschließlich in Bytecode geschrieben ist.

Der Java-Compiler ist die erste Sicherheitsstufe. Dies ist die erste Verteidigungslinie, bei der die Überprüfung auf einen falschen Datentyp in einer Variablen erfolgt. Ein falscher Datentyp kann zu Schäden am Programm und außerhalb des Programms führen. Außerdem prüft der Compiler, ob ein Codeteil versucht, einen eingeschränkten Codeteil wie eine private Klasse aufzurufen. Es schränkt den unbefugten Zugriff auf Code/Klasse/kritische Daten ein.

Der Java-Compiler erzeugt plattform- und architekturneutrale Bytecodes/Klassendateien, die die Ausführung von JVM erfordern und buchstäblich auf jedem Gerät/jeder Plattform/jeder Architektur laufen.

Was ist Java Virtual Machine (JVM)?

Java Virtual Machine ist die nächste Sicherheitsstufe, die eine zusätzliche Ebene zwischen Java-Anwendung und Betriebssystem schafft. Außerdem wird die vom Java-Compiler auf Sicherheit überprüfte und kompilierte Klassendatei überprüft, wenn jemand die Klassendatei/den Bytecode manipuliert hat, um den Zugriff auf nicht autorisierte kritische Daten einzuschränken.

Java Virtual Machine interpretiert den Bytecode, indem es die Klassendatei in die Maschinensprache lädt.

JVM ist für Funktionen wie Laden und Speichern, arithmetische Berechnung, Typkonvertierung, Objekterstellung, Objektmanupulation, Kontrollübertragung, Auslösen von Ausnahmen usw. verantwortlich.

Das Arbeitsmodell von Java, bei dem der Java-Compiler den Code in Calssfile/Bytecodes kompiliert und dann die Java Virtual Machine die Klassendatei/den Bytecode ausführt. Dieses Modell stellt sicher, dass der Code mit hoher Geschwindigkeit ausgeführt wird, und die zusätzliche Ebene sorgt für Sicherheit.

Was glauben Sie also – ein Java Compiler oder eine Java Virtual Machine erfüllen eine wichtigere Aufgabe? Ein Java-Programm muss im Wesentlichen über beide Oberflächen (Compiler und JVM) laufen.

Dieser Beitrag fasst die Rolle von Java Compiler und JVM zusammen. Alle Ihre Vorschläge sind in den Kommentaren unten willkommen. Wir arbeiten am nächsten Beitrag „Objektorientierter Ansatz von Java“. Bleiben Sie bis dahin auf dem Laufenden und bleiben Sie mit TecMint verbunden. Liken und teilen Sie uns und helfen Sie uns, uns zu verbreiten.