Java Development Kit (JDK)
Wichtige JDK-Bestandteile:
- Java-Compiler "javac" zum Übersetzen von Java-Programmen
- Java-Interpreter "java" zum Testen/Ausführen des vom Compiler erzeugten Bytecodes
- Java Runtime Environment (JRE), die JAVA-Laufzeitumgebung bzw. virtuelle Maschine (Java Virtual Machine), die für den Java-Programmablauf benötigt wird (automatisch aufgerufen durch "java".
- einfacher Browser "appletviewer" zum Testen von Applets
- Erzeugen von HTML Online Dokumentation "javadoc"
- Java Debugger "jdb"
- Bibliotheken, thematisch zusammengestellte Codesammlungen, z.B. für Dateizugriffe oder Grafikanwendungen
- Archivierungstools und mehr...
Compiler und Byte-Code-Interpreter werden als Kommandos auf der Kommandoebene aufgerufen werden; unter Windows in der DOS-Eingabe(cmd.exe).
Hinweise:
- Die JRE enthält nur die Teile, die zum Ausführen von Java-Programmen benötigt werden.
Java-Entwickler benötigen deshalb zum Schreiben und Kompilieren das komplette JDK und nicht nur die JRE. - Das JRE beinhaltet die Java Virtual Machine (JVM), die die Ausführung des JAVA-Programmcodes übernimmt.
Beim Aufruf eines Java-Programms wird also die JVM aufgerufen, die den Java-Code interpretiert und ausführt.
Alle Pakete des Standard-JDK beginnen mit dem Namen java
(java.lang, java.util, java.awt, java.net, ...
).
Das folgende Programm nutzt u.a. die Klassen Date
und String
aus dem JDK-API HelloDatum.java)
import java.util.*; public class HelloDatum { public static void main(String[] args) { String hello; Date heute = new Date(); hello = "\n Hallo, heute ist " + heute; System.out.println( hello ); } }Die Laufzeitumgebung
Java wurde entwickelt, um systemunabhängige Anwendungen zu schreiben. Daher hat man eine Java Virtual Machine (JVM) zwischen Betriebssystem und Andwendung gelegt. Diese JVM ist dafür verantwortlich, den maschinenunabhängigen Bytecode zu interpretieren. Bytecode wird vom Java Compiler javac erzeugt, wenn dieser Sourcecode übersetzt.
Die Klassenbibliothek
Eine OO-Sprache ist nur so gut wie ihre Klassenbibliothek. Java besitzt seit anbeginn eine sehr gute Klassenbibliothek. Es ist sogar in der Spezifikation vermerkt, welche Klassen unbedingt in der Biblithek enthalten sein müssen, um die Bezeichnung Java tragen zu dürfen. In der ersten Version von Java umfaßte das Application Programming Interface (API) rund 200 Klassen. In der aktuellen Version 2.0 sind allein in der Basisverision rund 4000 Klassen verzeichnet. Um den Überblick zu behalten, wurden die Klassen nach Einsatzzweck gruppiert. Die verschiedenen Bereiche sind beispielsweise:
- java.awt
- "Altes" Graphical User Interface (GUI) sowie Eventsteuerung und Zeichenfunktionalität.
- java.beans
- Teilsystem für die Erstellung von "lebenden" Komponenten.
- java.io
- Für alle Dinge, die Datenein- und ausgabe betreffen, Dateisystemarbeit und Serialisierung.
- java.lang
- Fundamentale Klassen für das System.
- java.net
- Für alles, was mit dem Netz zu tun hat. Besonders Sockets und URLs.
- java.rmi
- Zugriff auf Methoden und Klassen in anderen JVMs.
- java.sql
- Anbindung für Datenbanken, welche die Structured Query Language (SQL) verwenden.
- java.text
- Formatierung von Zahlen und Zeichenketten.
- java.util
- Abstrakte Datentypen, Kalenderklassen, Internationalisierung und sonstige Services.
- javax.swing
- Neue GUI-Bibliothek.
Ein großer Vorteil der Klassenbiliothek von Java ist die ausgezeichnete Dokumentation. Jeder Programmierer kann übrigens auch selbst solche Dokumentationen herstellen, indem er das Tool javadoc verwendet.
Klassenbibliothek und die Entwicklungswerkzeuge bilden zusammen das Java Development Kit (JDK).