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.
Die vordefinierten Klassen (und Methoden) von Java sind in Paketen organisiert. Die Gesamtheit dieser Pakete bildet das API (Application Programming Interface). Es enthält einige Tausend Klassen für die verschiedensten Zwecke. Die „Standard-API“ des JDK ist für jedes Java-Programm unerlässlich.

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).