Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Java Grundlagen: Wir erklären’s dir! (JDK, JRE und JVM)

-
5
 Minuten Lesezeit
-
java grundlagen

Java Grundlagen: Java ist eine objektorientierte Programmiersprache auf hohem Niveau, die von James Gosling und Patrick Naughton entwickelt wurde. Aufgrund ihrer Skalierbarkeit, Stringenz und Übertragbarkeit ist sie eine der meistverwendeten Programmiersprachen der Welt. Aufgrund dieser Eigenschaften wird sie häufig zur Entwicklung einer breiten Palette von Anwendungen verwendet, von Desktop-Anwendungen über Webanwendungen bis hin zu mobilen Anwendungen. Die Syntax ist mit der von C++ verwandt, wurde aber im Vergleich zu C++ vereinfacht.

Um die Java Grundlagen zu verstehen, ist es unerlässlich, sich mit Schlüsselkonzepten wie dem Java Development Kit (JDK), der Java Runtime Environment (JRE) und der Java Virtual Machine (JVM) vertraut zu machen. In diesem Artikel werden wir diese grundlegenden Elemente von Java erforschen und erklären, wie sie zusammenwirken, um die Ausführung von Java-Programmen zu ermöglichen.

Java Grundlagen - Was ist das Java Development Kit (JDK) ?

A. Überblick über das JDK: Rollen und Funktionen in der Java-Umgebung

Das Java Development Kit (JDK) ist eine Sammlung von Werkzeugen, die für die Entwicklung von Java-Anwendungen unerlässlich sind. Es stellt eine vollständige Umgebung zum Schreiben, Kompilieren, Debuggen und Ausführen von Java-Programmen bereit (siehe I.B). Die vom JDK bereitgestellten Werkzeuge sind in der Regel in allen Softwareentwicklungsumgebungen anzutreffen.

B. Die Komponenten des JDK

    1. Der Java-Compiler (javac)

Java ist eine interpretierte Sprache, was bedeutet, dass sie nicht direkt vom Betriebssystem ausgeführt werden kann. Um ein Java-Programm auszuführen, muss ein anderes Programm, der sogenannte Interpreter, durchlaufen werden. Der Interpreter liest eine Bytecode-Datei, die das Ergebnis der Kompilierung des Java-Quellcodes ist.

Der Java-Compiler, der Teil des JDK ist, spielt in diesem Prozess eine entscheidende Rolle. Er nimmt den Java-Quellcode und wandelt ihn in Java-Bytecode um, der von der Java Virtual Machine (JVM) verstanden werden kann. Der Compiler überprüft die Syntax, die Typen und nimmt beim Kompilieren Optimierungen vor.

Der Bytecode ist ein Zwischencode, der zwischen den Maschinenbefehlen und dem Quellcode liegt. Um also ein Java-Programm auszuführen, wird der Quellcode vom javac-Compiler in Bytecode kompiliert, der in einer Datei mit der Erweiterung .class gespeichert wird. Dieser Bytecode ist nicht direkt verwendbar, sondern muss von der JVM interpretiert werden, die ihn in Maschinencode umwandelt, den das Betriebssystem verstehen kann. Aus diesem Grund wird Java als portable Sprache bezeichnet, da der Bytecode unabhängig von der Ausführungsumgebung derselbe bleibt.

    2. Die Standardbibliotheken (Java Class Library)

Das JDK enthält eine umfangreiche Bibliothek mit vordefinierten Klassen, die sogenannte Java Class Library. Diese Bibliotheken bieten eine große Bandbreite an fertigen Funktionen, wie z. B. String-Verwaltung, Dateioperationen, grafische Benutzeroberflächen, Netzwerkverbindungen und vieles mehr.

Eine große Anzahl von Klassen, die von Java SE bereitgestellt werden, implementieren generische Daten und Prozesse, die von einer Vielzahl von Anwendungen genutzt werden können. Diese Klassen bilden die API (Application Programmer Interface) der Programmiersprache Java. Alle diese Klassen sind in Paketen (oder Bibliotheken) organisiert, die sich einem bestimmten Thema widmen.

Zu den am häufigsten verwendeten Paketen gehören die folgenden:

  • java.awt: grafische Klassen und Klassen zur Verwaltung von Schnittstellen.
  • java.io: Verwaltung von Ein-/Ausgaben.
  • java.lang: Basisklassen (standardmäßig importiert)
  • java.util: Utility-Klassen
  • javax.swing: andere grafische Klassen
    3. Java Grundlagen - Entwicklertools

Das JDK bietet eine Reihe von Entwicklungswerkzeugen, die den Prozess der Erstellung von Java-Anwendungen erleichtern. Zu diesen Werkzeugen gehören der Debugger (jdb), um Fehler zu identifizieren und zu beheben, oder die Dokumentationserzeugung (javadoc), um eine für Entwickler lesbare Dokumentation zu erstellen.

Überblick über das Java Runtime Environment (JRE)

A. Java Grundlagen - JRE verstehen

    1. Definition und Rolle der JRE bei der Ausführung von Java-Programmen

Das Java Runtime Environment (JRE) ist eine Laufzeitumgebung, die zum Ausführen von Java-Anwendungen benötigt wird. Sie umfasst die Java Virtual Machine (JVM), Klassenbibliotheken und andere wichtige Komponenten. Sie unterstützt die Ausführung von Java-Programmen, indem sie eine Ausführungsplattform für die JVM bereitstellt. Es lädt und führt Java-Bytecode-Dateien aus und bietet Zugriff auf die erforderlichen Klassenbibliotheken.

    2. Unterschiede zwischen JDK und JRE

Das JDK umfasst sowohl die JRE als auch die Entwicklungswerkzeuge, während die JRE für die Ausführung von Java-Anwendungen gedacht ist. Das JDK wird für die Entwicklung verwendet, während die JRE für die Ausführung von Java-Anwendungen verwendet wird.

    3. Bedeutung des JRE

Das JRE ist entscheidend, da sie die Portabilität von Java-Anwendungen gewährleistet. Java-Anwendungen können auf jedem JRE-kompatiblen System ausgeführt werden, unabhängig vom zugrunde liegenden Betriebssystem, während die JVM verfügbar ist.

B. Java Grundlagen - Die Komponenten des JRE

    1. Die Java Virtual Machine (JVM)

Die Java Virtual Machine ist die zentrale Komponente der JRE, die für die Ausführung von Java-Programmen verantwortlich ist. Sie interpretiert den Java-Bytecode oder kompiliert ihn in nativen Code, je nach der spezifischen Implementierung der JVM. Es ist wichtig zu beachten, dass die JVM auch im JDK enthalten ist, aber die JRE ist hauptsächlich für die Ausführung von Java-Anwendungen ohne die zusätzlichen Entwicklungswerkzeuge gedacht, die das JDK bereitstellt.

    2. Die Klassenbibliotheken des JRE
.

Das JRE enthält eine Reihe von Bibliotheken mit vordefinierten Klassen. Diese Bibliotheken stellen Funktionen und APIs bereit, mit denen Java-Anwendungen gängige Operationen durchführen können. Diese Integrationsbibliotheken helfen Entwicklern dabei, nahtlose Datenverbindungen zwischen ihren Anwendungen und Diensten herzustellen. Einige dieser Bibliotheken umfassen :

  • Java IDL (CORBA), die die Common Object Request-Architektur nutzt, um verteilte Objekte zu unterstützen, die in der Programmiersprache Java geschrieben wurden.
  • Java Database Connectivity API (JDBC), die Werkzeuge bereitstellt, mit denen Entwickler Anwendungen schreiben können, die auf entfernte Beziehungsdatenbanken, Flat Files und Tabellenkalkulationen zugreifen können.
    Java Naming and Directory Interface
  • (JNDI): Eine Programmierschnittstelle und ein Verzeichnisdienst, mit denen Kunden tragbare Anwendungen erstellen können, die mithilfe von Namenskonventionen Informationen aus Datenbanken abrufen können.

Java Grundlagen - Was ist die Java Virtual Machine (JVM)?

A. Die JVM verstehen

    1. Definition und Rolle der JVM bei der Ausführung von Java-Programmen

Die Java Virtual Machine (JVM) ist eine wesentliche Komponente der Java-Laufzeitumgebung. Ihre Hauptaufgabe ist die Ausführung von Java-Programmen, indem sie den Java-Bytecode in ausführbare Anweisungen für die zugrunde liegende Maschine umwandelt.

    2. Portabilität und Plattformunabhängigkeit durch die JVM

Die JVM ermöglicht die Portabilität von Java-Programmen, d. h. sie können auf verschiedenen Plattformen ausgeführt werden, ohne dass größere Änderungen erforderlich sind. Sie bietet eine Abstraktionsschicht zwischen dem Java-Code und dem Betriebssystem, sodass Java-Programme plattformunabhängig sein können.

B. Interne Funktionsweise der JVM

    1. Bytecode laden, prüfen und ausführen

Die JVM lädt die vom Java-Compiler erzeugten Bytecode-Dateien. Sie führt eine strenge Überprüfung durch, um sicherzustellen, dass der Bytecode sicher ist und den Sicherheitsregeln entspricht.

    2. Speicherverwaltung und Garbage Collection

Die JVM verwaltet den Speicher dynamisch, um den für die Ausführung von Programmen benötigten Platz zuzuweisen und freizugeben. Sie nutzt die garbage collection, um automatisch den Speicher abzurufen, der von nicht mehr referenzierten Objekten belegt wird.

      a - Der Aufrufstapel (Stack)

Die JVM verwendet einen Call-Stack, um Methodenaufrufe und lokale Variablen zu verwalten. Jeder Methodenaufruf wird durch einen Stapelrahmen dargestellt, der Parameter, lokale Variablen und andere Informationen enthält.

      b - Der Stapel (Heap)

Der Heap ist ein Speicherbereich, der zur Zuweisung von dynamischen Objekten verwendet wird, die von Java-Programmen erstellt werden. Er wird von der JVM verwaltet und ermöglicht das Erstellen, Ändern und Löschen von Objekten während der Laufzeit.

      c - Müllsammlung (Garbage Collection)

Die JVM führt eine Garbage Collection durch, um den Speicher freizugeben, der von nicht mehr referenzierten Objekten belegt ist. Dies verhindert Speicherlecks und ermöglicht eine automatische Speicherverwaltung in Java-Programmen.

Fazit

In diesem Artikel haben wir die Java Grundlagen wie das JDK, die JRE und die JVM erkundet. Das JDK ist entscheidend für die Entwicklung von Java-Anwendungen, während die JRE die Ausführung dieser Anwendungen auf einem Zielrechner ermöglicht. Die JVM spielt eine zentrale Rolle bei der Interpretation des Java-Bytecodes und der Bereitstellung einer sicheren und portablen Laufzeitumgebung. Wenn du diese Schlüsselkonzepte verstehst, wirst du besser darauf vorbereitet sein, effiziente und leistungsfähige Java-Anwendungen zu erstellen.

Wenn dir der Artikel gefallen hat und du die Programmiersprache Java lernen möchtest, dann schau dir unsere Ausbildung zum Data Engineer an.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.