1.5 Die Java Platform Standard Edition (Java SE)
 
In der Gründerzeit von Java gab es nur den spartanischen Java-Compiler und die virtuelle Maschine von Sun. Die Situation hat sich geändert, und viele Hersteller stürmen mit Compilern, Laufzeitumgebungen und integrierten Entwicklungsumgebungen (IDE) auf den Markt.
1.5.1 JDK und JRE
 
Vom Java-Erfinder Sun gibt es mit der Java Platform Standard Edition (Java SE) – früher J2SE – eine Systemumgebung zur Entwicklung und Ausführung von Java-Programmen. Da diejenigen, die Java-Programme nur laufen lassen möchten, nicht unbedingt alle Entwicklungstools benötigen, hat Sun zwei Pakete geschnürt:
|
Mit dem J2SE Development Kit (JDK) lassen sich Java SE-Applikationen entwickeln. Bei dem JDK sind Hilfsprogramme beigelegt, die für die Java-Entwicklung nötig sind. Dazu zählt der essenzielle Compiler, aber auch andere Hilfsprogramme etwa zur Signierung von Java-Archiven. In den Versionen Java 1.2, 1.3 und 1.4 heißt das JDK Java 2 Software Development Kit (J2SDK), kurz SDK. |
|
Beim Java SE Runtime Environment (JRE) ist nur die Java Virtuelle Maschine zusammen mit den nötigen Bibliotheken gebündelt. Auch wenn Entwicklungsumgebungen wie Eclipse einen eigenen Java-Compiler mitbringen, ist dies doch das mindeste, was zur Ausführung gebraucht wird. |
Das JRE und JDK sind beide gratis erhältlich. Beim JDK sind die Quellen für die meisten Klassen dabei, und auch die Quellen für die Laufzeitumgebung sind nach einer Anmeldung bei Sun zugänglich.
1.5.2 Java-Versionen
 
Version
|
Datum
|
Einige Neuerungen/Besonderheiten
|
JDK 1.0,
Urversion
|
1995
|
Am 23. Mai 1995 erstmals vorgestellt. 1.0.x. Versionen lösen diverse Sicherheitsprobleme.
|
JDK 1.1
|
Februar 1997
|
Neuerungen bei der Ereignisbehandlung, Umgang mit Unicode-Dateien, Datenbankunterstützung sowie innere Klassen und eine standardisierte Unterstützung für Nicht-Java-Code (nativen Code).
|
Java 2 SDK 1.2
|
November 1998
|
Heißt nun nicht mehr JDK, sondern Java 2 Software Development Kit (SDK). Neue Bibliothek für grafische Oberflächen: Swing. Collection-API.
|
Java 2 SDK 1.3
|
Mitte 2000
|
JNDI, RMI/IIOP, Sound-Unterstützung
|
Java 2 SDK 1.4
|
Februar 2002
|
Schnittstelle für XML-Parser, Logging, neues IO-System (NIO), reguläre Ausdrücke, Assertions
|
JDK 5.0
|
Ende 2004
|
Generische Typen, typsichere Aufzählungen, erweitertes for, Autoboxing, Annotationen
|
Für fast jede Java-Version gibt es Code-Namen, etwa für 1.1.4 Sparkler (Diamant), 1.1.5 Pumpkin (Kürbis, auch Trottel), 1.1.6 Abigail (Zofe), 1.1.7 Brutus und 1.1.8 Chelsea1
. Für Java 1.2 steht Playground. Für die folgenden Java-Versionen nutzen die Sun-Entwickler immer Tiernamen: Cricket 1.2.2 (Grille), 1.3 Kestrel (Turmfalke), Ladybird 1.3.1 (Marienkäfer), 1.4.0 Merlin (Falke), 1.4.1 Hopper (Heuschrecke), 1.4.2 Mantis (Gottesanbeterin), 5 Tiger, 5.1 – für Ende 2005 erwartet – Dragonfly (Libelle), 6 Mustang – für Mitte 2006 erwartet – und 7 Dolphin (Delfin). Vielleicht finden wir demnächst auch Java-Flugfrosch, Java-Nashorn und Javaneraffe (lat. Macaca fascicularis, eine krabbenfressende Affenart) – diese Tiere gibt’s wirklich und einen Java-Tiger auch. (Der ist übrigens vom Aussterben bedroht.) Java 7 ist Mitte 2007 angedacht. Aber bis dahin wird noch viel Wasser den Rhein hinabfließen.
Hinweis Sun änderte in der Vergangenheit immer mal wieder die Bezeichnungen. Ab Java 1.2 hieß das JDK plötzlich J2SDK, nun seit Java 5 wieder JDK. Ab Java 5 fällt das »1.« weg, obwohl Sun selbst noch an vielen Stellen von Java 1.5 spricht. Und die ».0« für die großen Versionen bleibt auch erspart. Schlussendlich fällt die »2« aus den in Java 1.2 eingeführten Begriffen J2SE, J2ME und J2EE raus; es heißt aktuell Java SE, Java ME und Java EE.
|
Inkompatibilitäten gibt es von einer Version zur nächsten kaum. Im Fall von Java 5 sind nur wenige Probleme bekannt; unter http://java.sun.com/j2se/1.5.0/compatibility.html sind diese zu finden.
1.5.3 Java für die Kleinen
 
Die Micro Edition (Java ME) ist eine Laufzeitumgebung für kleine PDAs oder Telefone. Für den PalmPilot liegt eine Referenzimplementierung vor. Die J2ME löst Personal Java und Embedded Java ab. Damit ist Java nicht nur auf Geräten mit viel Power lauffähig, sondern auch auf Kleinstcomputern mit wenig Speicher und Rechenkapazität. Java ist heutzutage auf fast jedem Handy zu finden.
1.5.4 Java für die Großen
 
Die Java 2 Platform, Enterprise Edition (Java EE) ist ein Aufsatz für die Java SE und integriert Pakete, die zur Entwicklung von Enterprise-Appikationen nötig sind. Dazu zählen Technologien wie die Enterprise Java Beans (EJBs), Servlets, JSP, Java-Mail-API, JTS und weitere.
1.5.5 Direkt ausführbare Programme, native Compiler
 
Eine in Java geschriebene Applikation lässt sich natürlich nur mit der JVM ausführen. Doch einige Hersteller haben Compiler so ausgelegt, dass sie direkt unter Windows oder einem anderen Betriebssystem ausführbare Programme erstellen. Zwei Modelle werden unterschieden:
|
Native Compiler: Compiler, die direkt plattformabhängigen Maschinensprachcode erzeugen, heißen native Compiler. Ihre Ausführungsgeschwindigkeit liegt nicht zwangsläufig über der der neuen optimierten Laufzeitumgebungen. Ein freier Compiler unter der GNU-Lizenz ist der GNU-Compiler gcj unter http://gcc.gnu.org/java/. |
|
Wrapper: Ein Wrapper ist ein ausführbares Programm und liegt wie eine Schale um die Java-Klassen. Der Wrapper ruft dann die virtuelle Maschine auf und übergibt ihr die Klassen. Es ist also immer noch eine Laufzeitumgebung nötig, doch lassen sich den Java-Programmen Icons mitgeben und Startparameter setzen. Ein freies Produkt ist JSmooth unter http://jsmooth.sourceforge.net/. |
1 Chelsea Brutus ist ein Geistlicher. Suchte Sun hier göttlichen Beistand für die Java-Versionen?
|