java components java platform
Dieses Tutorial enthält eine detaillierte Beschreibung von Java als Plattform und ihren Komponenten, d. H. JRE, JDK, Java Virtual Machine und Unterschied zwischen JRE und JDK:
Java wurde sowohl als Programmiersprache als auch als Plattform beschrieben. In unserem Einführungs-Tutorial haben wir bereits besprochen, dass eine Plattform eine Software-Umgebung ist, mit der wir Programme oder Anwendungen ausführen können.
Was ist die beste Spielefirma
In diesem Tutorial werden wir Java als Plattform diskutieren. Wir werden auch Java-Plattformkomponenten diskutieren und sehen, wie sie funktionieren.
=> Lesen Sie die Easy Java Training Series durch.
Was du lernen wirst:
Java-Plattform
Die Java-Plattform ist eine Software oder eine Sammlung von Programmen, mit deren Hilfe wir Anwendungen ausführen können, die in der Programmiersprache Java geschrieben sind. Eine Java-Plattform besteht aus einem Java-Compiler, einer Reihe von Bibliotheken und einer Ausführungs-Engine.
Die Java-Plattform ist unabhängig von einem bestimmten Betriebssystem, wodurch die Java-Programmiersprache eine plattformunabhängige Sprache ist.
Die Java-Plattform besteht aus den folgenden Komponenten.
- Java-Sprache
- Das Java Development Kit (JDK)
- Die Java Runtime Environment (JRE)
- Der Java-Compiler
- Die Java Virtual Machine (JVM)
Neben den oben genannten Hauptkomponenten enthält die Java-Plattform auch Garbage Collectors, eine Reihe von Bibliotheken und andere zusätzliche Komponenten und Tools, die zum effizienten Ausführen der Java-Anwendungen erforderlich sind.
Betrachten wir das folgende Diagramm, das die Beziehung zwischen all diesen Komponenten darstellt.
Aus dem obigen Diagramm können wir also schließen, dass
JRE = JVM + Bibliotheksklassen.
JDK = JRE + Entwicklertools.
Bevor wir die einzelnen Komponenten aufgreifen, sollten wir zunächst den Ausführungsablauf der Java-Programmausführung verstehen.
Das folgende Diagramm zeigt den Ablauf eines Java-Programms.
Das obige Diagramm zeigt also einen einfachen Ausführungsablauf für ein Java-Programm. Ein in Java geschriebenes Programm wird vom Java-Compiler (javac) kompiliert. Im Gegensatz zu anderen Sprachcompilern, die nach der Kompilierung Maschinencode generieren, generiert der Javac-Compiler eine Klassendatei, die aus Bytecode besteht.
Diese Klassendatei wird nun an Java Virtual Machine (JVM) übergeben, die die Klassendatei in eine Objektdatei mit maschinenabhängigem Code übersetzt. Dann wird dieser Code von der Maschine ausgeführt.
Lassen Sie uns jede dieser Komponenten im Detail diskutieren.
Java-Sprache
Java ist eine Programmiersprache, die von der Java-Plattform verwendet wird. Java ist eine objektorientierte Programmiersprache, deren Syntax von C abgeleitet ist und deren OOPS-Funktionen von C ++ abgeleitet sind. Es hat seine Syntax, Regeln, Format und Programmierparadigma.
In dieser Reihe lernen wir alle wichtigen Konzepte in Java und Programmierung im Detail kennen.
Der Java-Compiler
Dies ist ein Compiler für die Programmiersprache Java, dessen Funktion darin besteht, Java-Klassendateien aus dem Java-Quellcode zu generieren. Die Java-Klassendatei enthält einen plattformunabhängigen Java-Bytecode.
Nach dem Generieren von Klassendateien lädt JVM diese Klassendateien und interpretiert entweder den Bytecode oder kompiliert ihn mit dem JIT-Compiler (Just-in-Time) zu Maschinencode.
Die Java Virtual Machine (JVM)
JVM ist das Zentrum der Java-Programmiersprache und der Java-Plattform. Die JVM konvertiert den Bytecode in maschinenspezifischen Code (in anderen Programmiersprachen auch als Objektcode bezeichnet).
JVM bietet die Funktionalität der Speicherbereinigung, Speicherverwaltung, Sicherheit usw. JVM ist plattformunabhängig und wir können seine Funktionalität mithilfe einer virtuellen Schnittstelle anpassen, die nicht maschinenabhängig und auch vom Betriebssystem unabhängig ist.
Diese Plattformunabhängigkeit von JVM ermöglicht es uns, Java-Programme auf einem Computer zu erstellen und auf einem anderen Computer auszuführen (WORA - Write - Once - Run - Anywhere).
Das folgende Diagramm zeigt die verschiedenen Teile einer JVM.
Die JVM ist im RAM vorhanden. Wenn das Java-Programm vom Java-Compiler in eine Klassendatei konvertiert wird, muss es ausgeführt werden.
Zur Ausführung wird die Klassendatei vom Klassenlader auf den Ram gebracht. Hier wird der BYTE-Code auf Sicherheitsprobleme überprüft. Classloader ist auch für das Laden, Verknüpfen und Initialisieren des auszuführenden Programms verantwortlich.
Der im obigen Diagramm gezeigte JVM-Speicher enthält verschiedene Komponenten, wie sie gezeigt sind, und sie helfen bei der Ausführung des Programms, indem sie PC-Register enthalten, die den aktuell auszuführenden Befehl enthalten, Heap, der Variablen, Arrays usw. enthält.
Der JVM-Speicher enthält auch den Methodenbereich und den nativen Methodenstapel, der den Methodencode bzw. die Spezifikation der Muttersprache enthält. Der JVM-Stack enthält die Instanz des Programms oder den aktuellen Thread. Wenn es mehr als einen Thread gibt, hat jeder Thread seinen JVM-Stapel.
Sobald das Programm ordnungsgemäß verknüpft ist, wird es an die Ausführungsengine weitergeleitet. Die Ausführungs-Engine arbeitet mit der nativen Methodenschnittstelle und den nativen Methodenbibliotheken zusammen. Die native Methodenschnittstelle ist ein Programmierframework, mit dem Java-Code Bibliotheken und native Anwendungen aufrufen kann, die Teil der nativen Methodenbibliotheken sind.
Als nächstes konvertiert die Ausführungs-Engine den Bytecode mithilfe des Just-in-Time-Compilers (JIT) in nativen Maschinencode. Dann wird das Programm von der Maschine ausgeführt.
Hinweis: JIT oder Just-in-Time-Compiler ist Teil der Java Virtual Machine (JVM). Es interpretiert einen Teil des Bytecodes, der gleichzeitig ähnliche Funktionen hat. Mit anderen Worten, es konvertiert den Bytecode auf derselben Programmierebene in nativen Maschinencode. Aus diesem Grund wird sowohl Java als auch eine interpretierte Sprache kompiliert.
Die Java Runtime Environment (JRE)
JRE ist, wie der Name schon sagt, die Laufzeitumgebung, die zum Ausführen von Java-Programmen und -Anwendungen erforderlich ist. JRE besteht aus Java Virtual Machine (JVM) und Binärdateien und anderen Klassen, um Java-Programme erfolgreich auszuführen.
JRE ist eine Teilmenge von JDK und enthält keine Entwicklungstools wie Java-Compiler, Debugger usw. Wenn Ihre Java-Anwendungen an anderer Stelle entwickelt wurden und Sie sie nur auf Ihrem Computer ausführen müssen, können Sie JRE separat installieren. Dazu müssen Sie JDK installieren.
Auf Ihrem Computer muss eine JRE installiert sein, da dies die Mindestanforderung ist, um Java-Programme auf Ihrem Computer auszuführen.
Die JRE enthält die folgenden Komponenten.
- Codebibliotheken, Eigenschafteneinstellungen und Ressourcendateien : Dazu gehören Dateien wie charsets.jar, rt.jar usw.
- DLL-Dateien : Wird von der virtuellen Maschine des Java-Hotspot-Clients und der virtuellen Maschine des Servers verwendet.
- Java-Erweiterungsdateien :: Zum Beispiel, Dateien, die sich auf die Gebietsschemaspezifikation beziehen, wie localedata.jar
- Dateien für das Sicherheitsmanagement erforderlich. Zum Beispiel, java.policy, java.security
- Applet-Unterstützungsklassen.
- True Type-Schriftdateien : Wird normalerweise von der Plattform benötigt.
Um eine in Java geschriebene Anwendung / ein in Java geschriebenes Programm auszuführen, muss JRE auf Ihrem System installiert sein. JRE ist plattformabhängig. Dies bedeutet, dass Sie JRE herunterladen und installieren müssen, das mit Ihrem Betriebssystem und Ihrer Architektur kompatibel ist.
Das Java Development Kit (JDK)
Dies ist die Kernkomponente jeder Java-Umgebung. JDK enthält JRE (Java Runtime Environment) sowie Java-Compiler, Java-Debugger und andere Kernklassen. JDK wird für die Java-Entwicklung verwendet, da es die gesamte ausführbare Datei und Binärdateien sowie Tools zum Kompilieren und Debuggen eines Java-Programms bereitstellt.
JDK ist eine plattformspezifische Software. Daher haben wir für jedes Betriebssystem separate JDK-Installationsprogramme.
JDK enthält die folgenden Komponenten:
- jConsole : Dies ist eine Java-Überwachungs- und Verwaltungskonsole.
- Krug : Dies ist der Archivierer. Dieses Tool wird verwendet, um verwandte Klassenbibliotheken in eine einzelne Jar-Datei zu packen sowie Jar-Dateien zu verwalten.
- jarSigner : Dieses Tool wird zum Signieren und Überprüfen von JARs verwendet.
- javap: Dies ist ein Tool für den Disassembler von Klassendateien.
- Javaws : Java Web Start Launcher für JNLP-Anwendungen.
- jhat : Java-Heap-Analyse-Tool.
- jrunscript : Java-Befehlszeilenskript-Shell.
- jstack : Dienstprogramm zum Drucken von Stack-Traces für Java-Threads.
- Javadoc : Dies generiert automatisch eine Dokumentation aus den Quellcode-Kommentaren.
- Appletviewer : Wird zum Ausführen und Debuggen von Applets ohne Webbrowser verwendet.
- geeignet : Anmerkungsverarbeitungswerkzeug.
- extCheck : Dienstprogramm zum Überprüfen von JAR-Dateikonflikten.
- Keytool : Mit diesem Dienstprogramm können Sie den Keystore bearbeiten.
- Richtlinienwerkzeug : Dies ist ein Tool zur Erstellung und Verwaltung von Richtlinien.
- xjc : Dies ist ein Teil der JAXB-API (XML Binding), die das XML-Schema akzeptiert und Java-Klassen generiert.
So können Sie sehen, dass die Komponenten von JDK diejenigen sind, die wir aus entwicklungspolitischer Sicht benötigen.
Wie im obigen Diagramm gezeigt, wird der Java-Quellcode vom Java-Compiler, der Teil von JDK ist, in Bytecodes konvertiert. Dann wird dieser Bytecode an JVM weitergeleitet (dieser Prozess wurde bereits oben beschrieben) und von dort an JRE, wo der Code ausgeführt wird.
Nachdem wir die Details zu JDK und JRE gesehen haben, wollen wir nun die Unterschiede zwischen JRE und JDK diskutieren.
JRE gegen JDK
Unterlassen Sie | JRE | JDK |
---|---|---|
7 | Nimmt das kompilierte / interpretierte Java-Programm als Eingabe und generiert eine Ausgabe. | Kompiliertes Java-Quellprogramm und generiert eine Klassendatei, die dann an JVM übergeben wird. |
1 | JRE steht für Java Runtime Environment. | JDK steht für Java Development Kit. |
zwei | Wird hauptsächlich zur Ausführung von Java-Programmen verwendet. | JDK wird von Entwicklern zur Entwicklung von Java-Programmen verwendet. |
3 | Enthält die darin enthaltene Java Virtual Machine (JVM). | Hat keine JVM. |
4 | JRE hat keinen Java-Compiler und kann daher keine Programme kompilieren. | JDK hat einen Javac-Compiler und ist für das Kompilieren von Programmen verantwortlich. |
5 | Enthält die Java-Klassenbibliothek, den Java-Befehl und andere Infrastrukturen. | JDK enthält Tools wie Javadoc und Archiver, mit denen Java-Anwendungen entwickelt werden. |
6 | JRE kann als eigenständiges Programm installiert werden. | JDK ist ein separates Installationsprogramm und wird mit JRE geliefert. |
Fazit
In diesem Tutorial haben wir die Details des Java Development Kit (JDK) erläutert, das im Lieferumfang von Java Runtime Environment (JRE) und Java Compiler enthalten ist. JRE enthält wiederum Java Virtual Machine (JVM), die für die Konvertierung des vom Java-Compiler generierten Bytecodes in maschinenspezifischen Code verantwortlich ist.
Alle diese Elemente, einschließlich der Java-Sprache, sind Komponenten einer übergeordneten Entität namens Java-Plattform. Diese Umgebung hilft uns, eine Java-Anwendung auszuführen. Wir haben hier auch die detaillierte Architektur und Arbeitsweise von JVM sowie die Ausführung eines Java-Programms besprochen.
=> Schauen Sie sich hier den Java Beginners Guide an.
Literatur-Empfehlungen
- Java Virtual Machine: Wie JVM beim Ausführen von Java-Anwendungen hilft
- Java SWING Tutorial: Container-, Komponenten- und Ereignisbehandlung
- Java-Bereitstellung: Erstellung und Ausführung einer Java-JAR-Datei
- Zugriffsmodifikatoren in Java - Tutorial mit Beispielen
- Java Reflection Tutorial mit Beispielen
- Einführung in die Java-Programmiersprache - Video-Tutorial
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- OOP Java: Einführung in die objektorientierte Programmierung in Java