Diese Webseite nutzt nur technisch notwendige Cookies.

JRE vs JDK? Kosten, Unterschiede und Auswahl erklärt

JDK vs. JRE

JDK vs JRE – Wo ist da der Unterschied?

Java kann zu Beginn sehr verwirrend sein.

Dieser Beitrag gibt Dir eine Entscheidungshilfe im Java Dschungel!

Starten wir!

Der JDK / JRE Dschungel

Bitte nicht einfach downloaden – kann teuer werden!

Wenn Du mit Java Anwendungen arbeitest oder diese entwickelst, bekommst Du einen Wust an Abkürzungen und Varianten und Tools:

  • JRE
  • JDK
  • JVM
  • Bytecode
  • JAR
  • Zulu, Adoptium, Corretto

Damit nicht ein gefährliches Halbwissen Lizenzstrafen nach sich ziehen, beginnen wir bei den Grundlagen:

Was ist Java?

Java Code ist super für Anfänger

Der Programmierer James Gosling entwickelt die Programmiersprache „Java“ bei seinem Arbeitgeber Sun Microsystems. Der Konzern Oracle kaufte dieses Unternehmen und lizenziert die Programmiersprache Java für sich. Die Programmiersprache funktioniert auf den meisten bekannten Plattformen (CPU-Arten) und Betriebssystemen (Windows, Linux, macOS).

Entwickler setzten die Programmiersprache in allen Formen ein:

  • Smartphone-Apps
  • Server-Anwendungen
  • Kleinstgeräte – IoT-Geräte
  • Desktop Anwendungen für Windows
  • Spiele
  • Industrieanlangen und mehr
  • Was bedeute der Java Byte Code?

Eine Software, der Compiler, muss eine High Level Programmiersprache (Java) für den Computer verständlich machen, bevor diese ausgeführt werden kann.

Der Computer versteht nur 0en und 1en, sowie einfache Operationen. Nicht jeder Computer / CPU-Plattform ist gleich gebaut. Deshalb übersetzt die Software Deine Programmiersprache in den Java Byte Code, welcher dann die Java Virtual Machine versteht.

Was erledigt die Virtual Machine?

Java in der CLI

Die Java Virtual Machine ist allen Varianten für viele Plattformen verfügbar. Diese kann den Java Byte Code dann in Maschinen Code übersetzen. Der große Vorteil an der Programmiersprache Java ist, dass der Programmierer nicht für jede Plattform programmieren muss, sondern die JVM die Ausführung in allen Umgebungen gewährleistet.

Das Runtime Environment

Kostenlose Builds

Die Java Laufzeitumgebung (Java Runtime Environment, JRE) verwendet die JVM, um Java Software zum Fliegen zu bekommen.

Sie beinhaltet die wichtigsten Bibliotheken, welche die meisten Entwickler verwenden. Die Umgebung bietet Schnittstellen (Applicaiton Programming Interface, API) an, um Funktionen anzusprechen:

  • Datenbankzugriffe
  • Grafische Darstellungen (Fenster, Schalter, Menus, Buttons, usw… )
  • Java-Beans

Wie funktionieren die vorgestellten Komponenten zusammen?

Der Entwickler programmiert in Java. Der Java Compiler übersetzt diese in den Java Bytecode. Der Entwickler packt den Bytecode in eine .jar Datei, welche der Endnutzer verwenden kann. Der Endnutzer hat auf seinem Rechner den JRE installiert. Dieser startet eine Java Virutal Machine, sobald der Nutzer die jar-Datei anklickt. Die JVM verarbeitet den Bytecode und zeigt das Programm an. Der Bytecode zieht sich alle notwendigen Abhängigkeiten vom JRE. Der Nutzer kann arbeiten, …

Development Kit einfach erklärt

Viele Programme für einen Zweck

Das Development Kit brauchst Du, wenn Du mit Java entwickeln möchtest. Das Paket beinhaltet die Java Runtime und …

  • Complier – kontrolliert, ob Dein Code valide ist
  • Jar – erstellte ein ausführbares Kompressionsformat
  • jdb – hilft, die auch jeden noch so kleinen Fehler mit Debugging zu finden
  • keytool – zu signieren von fertiger Software

Der JDK beinhaltet auch die Java Language Specification (Wie soll der Java Code aussehen?), sowie the Java Virtual Machine Specification (Wie soll die verarbeitende Software dafür aussehen?)

Brauche ich ein JRE oder JDK

Eine JRE brauchst Du immer, um Java Software auf Deinem Rechner auszuführen. Einen JDK brauchst Du, wenn Du mit Java entwickeln möchtest!

Welche Version von JRE bzw. JDK brauche ich?

Die Java Runtime ist abwärts kompatibel! Es gibt Ausnahmen, aber Du kannst davor ausgehen, dass Deine Software läuft. Wenn die Entwickler eine neuen JRE herausbringen, achten diese darauf, dass die alten Programme weiterhin mit dem neuen JRE laufen können.

Dazu dürfen alte Schnittstellen und Befehle nicht verschwinden. Diese können nur durch effizientere oder andere Implementierung ersetzt werden. JREs bekommen mit jeden Entwicklungszyklus neue Features hinzu, welche aber nicht alte Programme zerstören.

Beim JDK sieht das anders aus. Manche IDEs schreiben eine spezielle (Mindest-) JDK-Version vor, weil die JDK-Features mit der IDE abgestimmt sind. Zwischen den JDKs gibt es Inkompatibilitäten.

Generell solltest Du den neusten JDK verwenden. Leider gibt es immer wieder Dependencies, bei denen die Entwickler nicht upgraden wollen / können. Hierzu musst Du den letzten kompatiblen JDK-Stand verwenden oder die Dependency neue kompilieren.

Welchen JDK Build verwenden?

Zulu JDK

Oracle hat die Lizenzbedingungen für ihren JDK / JRE im 2019 geändert. Viele Entwickler nutze eine Build vom OpenJDK. Der OpenJDK ist eine das Open-Source-Projekt von Oracle. Oracle vertreibt zugleich einen Oracle JRE für Unternehmen, welche die Unternehmen kaufen können.

Wenn Du Java im Unternehmen verwenden willst, dann solltest Du die Lizenz von Oracle verstehen und eventuell Lizenzgebühren bezahlen. Trotz der Lizenzgebühren bleibt der Code offen ersichtlich. Die Community kann die Software als OpenJDK weiterentwickeln. Viele Programmierer sind von der Entscheidung von Oracle enttäuscht, müssen aber mit Java weiterarbeiten, weil dieser ein Defacto-Standard in vielen Unternehmen ist.

Einige teuer entwickelter Software baut auf Java auf!

JDK weiterentwicklen!

Bekannte Unternehmen bauen ihren eigenen OpenJDK, was eine erlaubte Praxis ist, um diesen kostenlos zu nutzen: Zulu, Coretto, Temurin, SapMachine.

Jeder kann seinen eigenen JDK bauen und verwenden. Diese Aufgabe erledigen für Dich andere Unternehmen kostenlos. Der Build kann je nach Hardware mehrere Stunden dauern und bringt Dir keinen wirklichen Vorteil, wenn Du dies selbst machst.

Prinzipiell, kannst Du Dir das Unternehmen aussuchen, solange der Anbieter keine weiteren Lizenzbedingungen stellt. Oftmals ist die Entwickler / Privatverwender Nutzung kostenlos und für die Unternehmensnutzung soll Geld springen. Andere bieten nur zusätzlich einen Support an, welchen sich Unternehmen hinzubuchen können. Der kostenlose JDK Build gehört zur Marketing-Strategie.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!