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 Java Development Kit (JDK) lassen sich Java SE-Applikationen entwickeln. Dem JDK sind Hilfsprogramme beigelegt, die für die Java-Entwicklung nötig sind. Dazu zählen der essenzielle Compiler, aber auch andere Hilfsprogramme etwa zur Signierung von Java-Archiven oder zum Start einer Management-Console. In den Versionen Java 1.2, 1.3 und 1.4 heißt das JDK Java 2 Software Development Kit (J2SDK), kurz SDK, ab Java 5 wieder JDK.
- Beim Java SE Runtime Environment (JRE) ist nur die JVM zusammen mit den nötigen Bibliotheken gebündelt. Auch wenn Entwicklungsumgebungen wie Eclipse einen eigenen Java-Compiler mitbringen, ist das JRE doch das Mindeste dessen, was zur Ausführung nötig ist.
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 

Am 23. Mai 1995 stellte Sun erstmals Java der breiten Öffentlichkeit vor. Seitdem ist viel passiert, und in jeder Version erweiterte sich die Java-Bibliothek. In einigen Version zogen neue Spracheigenschaften ein.
Version | Datum | Einige Neuerungen/Besonderheiten |
1.0, Urversion |
1995 |
Die 1.0.x-Versionen lösen diverse Sicherheitsprobleme. |
1.1 |
Februar 1997 |
Neuerungen bei der Ereignisbehandlung, Umgang mit Unicode-Dateien (Reader/Writer statt nur Streams), Datenbankunterstützung via JDBC sowie innere Klassen und eine standardisierte Unterstützung für Nicht-Java-Code (nativen Code) |
1.2 |
November 1998 |
Heißt nun nicht mehr JDK, sondern Java 2 Software Development Kit (SDK). Swing ist die neue Bibliothek für grafische Oberflächen und eine Collection-API für Datenstrukturen und Algorithmen. |
1.3 |
Mai 2000 |
Namensdienste mit JNDI, verteilte Programmierung mit RMI/IIOP, Sound-Unterstützung |
1.4 |
Februar 2002 |
Schnittstelle für XML-Parser, Logging, neues IO-System (NIO), reguläre Ausdrücke, Assertions |
5 |
September 2004 |
Generische Typen, typsichere Aufzählungen, erweitertes for, Autoboxing, Annotationen |
6 |
Ende 2006 |
Web-Services, Skript-Unterstützung, Compiler-API, Java-Objekte an XML-Dokumenten binden, System Tray |
Inkompatibilitäten gibt es von einer Version zur nächsten kaum. Im Fall von Java 5 sind nur wenige Probleme bekannt und unter http://java.sun.com/javase/technologies/compatibility.jsp sind einige aufgeführt. [Die Seite http://tutego.com/go/migratingtojava5 zeigt auf, wie der Umstieg von Walmart auf Java 5 gelang. Sie gelang relativ problemlos: »[...] the overall feeling is that a migration to Java 1.5 in a production environment can be a mostly painless exercise.« ]
Java 7 ist für Anfang 2008 geplant, [Zwar fließt bis dahin noch viel Wasser den Rhein hinab, doch die ersten Features stehen schon: Closures, neuer Bytecode zur Unterstützung dynamischer Sprachen wie Jython, eine andere Paketierung sowie eine neue Sichtbarkeit im Rahmen eines »Java Module System«. Angedacht ist auch die Unterstützung von XML-Literalen als Ergänzung zu String-Literalen, um die Korrektheit in der Übersetzungsphase zu testen, und eine XPath-Syntax. ] Releases sollen im Rhythmus von 18 Monaten kommen und Updates in Form von Bug-Fixes alle 8 bis 16 Wochen.
Codenamen und Namensänderungen
Sun änderte in der Vergangenheit immer mal wieder die Bezeichnungen. Ab Java 1.2 hieß das JDK plötzlich J2SDK und seit Java 5 wieder JDK. Ab Java 5 fällt das Präfix »1.« weg, obwohl Sun selbst noch an vielen Stellen von Java 1.5 spricht. [Siehe dazu http://java.sun.com/j2se/1.5.0/docs/relnotes/version-5.0.html und http://java.sun.com/j2se/versioning_naming.html. ] Und das Anhängsel ».0« für die großen Versionen bleibt einem auch erspart. Für weitere Versionen gibt es auch keine Unterversionen mehr, also kein 5.1, 6.1 und Weiteres – nur noch die ganzen Zahlen mit Updates. Schlussendlich fällt die »2« aus den in Java 1.2 eingeführten Begriffen J2SE, J2ME und J2EE heraus; es heißt aktuell Java SE, Java ME und Java EE. Früher vergab Sun auch Codenamen, wie Tiger für Java 5, doch das ist Vergangenheit. [http://java.sun.com/j2se/codenames.html ]
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 Java ME 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 Platform, Enterprise Edition (Java EE) ist ein Aufsatz für die Java SE und integriert Pakete, die zur Entwicklung von Enterprise-Applikationen nötig sind. Dazu zählen Technologien wie die Enterprise JavaBeans (EJBs), Servlets, JSP, Java-Mail-API, JTS und weitere. Das Buch schneidet einige Bibliotheken aus der Java EE an, etwa Servlets oder Web-Services. Interessant ist zu beobachten, dass im Laufe der letzten Jahre Teile aus der Java EE in die Java SE gewandert sind. Im Moment wird diskutiert, ob unter Java 7 die Technologie für Objekt-relationales Mapping (JPA) aus der Java EE in die Standard Edition kommt.
1.5.5 Installationsanleitung für Java SE 

Damit Java-Programme übersetzt und ausgeführt werden können, muss ein Compiler und Interpreter auf unserem Rechner installiert sein. Das freie JDK von Sun ist üblicherweise die Basis zur Entwicklung der Java-Programme. Die folgende Anleitung beschreibt, woher wir das Java SDK beziehen können und wie die Installation verläuft.
Das Java SE beziehen
Es gibt unterschiedliche Möglichkeiten, in den Besitz der Java SE zu kommen. Wer einen schnellen Zugang zum Internet hat, kann es sich von den Sun-Seiten herunterladen. Nicht-Internet-Nutzer oder Anwender ohne schnelle Verbindungen finden Entwicklungsversionen häufig auch auf DVDs, wie etwa unserer in diesem Buch.
Sun bietet auf der Webseite http://java.sun.com/javase/6/ die Java Platform, Standard Edition (Java SE) in der Version 6 direkt zum Download für die Versionen Solaris SPARC/x86, Linux x86 und Microsoft Windows für jeweils 32- und 64-Bit-Systeme an. Die Dokumentation hält die Seite ebenfalls bereit. Bei einer Größe des SDK von mehr als 43 MB ist die Dokumentation getrennt, denn auch sie umfasst über 40 MB. Da die Dokumentation aber auch online im Netz ist, muss sie nicht unbedingt lokal ausgepackt werden.
Java SE unter Windows installieren
Die ausführbare Datei jdk-1_6_x-win.exe (x steht hier als Stellvertreter für die Unterversion) ist das Installationsprogramm. Es installiert die ausführbaren Programme wie Compiler und Interpreter sowie die Bibliotheken, Quellcodes und auch Beispielprogramme. Voraussetzung für die Installation sind genügend Rechte, an die 200 MB Plattenspeicher und die Windows Service Packs. Quellcodes und Demos müssen nicht unbedingt installiert sein.
Die Installation beginnt damit, dass wir die Lizenzbestimmungen akzeptieren müssen. Dann fragt der Installer nach zu installierenden Komponenten und einem Verzeichnis. Nehmen wir im Folgenden den Pfad C:\Programme\Java\jdk1.6.0 an.
Wir akzeptieren, und nun dauert es etwas. Anschließend folgt ein Dialog für die JRE-Komponenten. Auch hier können wir auf Wunsch den Pfad anpassen. Nach dem Next geht es weiter, und der nachfolgende Dialog bietet an, eine Liesmich-Datei anzuzeigen.
Programme im bin-Verzeichnis
Nach der abgeschlossenen Installation lassen sich unter Windows im Dateibaum unter C:\Programme\Java die beiden Ordner jdk1.6.0 und jre1.6.0 ausmachen. Das JDK enthält die zusätzlichen Entwicklungswerkzeuge und Java-Quellen, die das JRE nicht enthält. Leider werden aber auch viele Sachen doppelt installiert; Sun betrachtet das JRE nicht als Teilmenge des SDK. (Ein weiterer Nachteil bei dieser Trennung: Zusätzliche Bibliotheken müssen auch an zwei Stellen installiert werden.)
Der JDK-Ordner hat nicht viele Verzeichnisse und Dateien. Anbei die wichtigsten:
- bin – Hier befinden sich unter anderem der Compiler javac und der Interpreter java.
- jre – die eingebettete Laufzeitumgebung
- demo – mit Unterverzeichnissen für Beispiel-Programme. Die Demos unter jfc, dann Java2D und SwingSet2 sind besonders interessant. Ein Doppelklick auf die .jar-Dateien startet sie.
- src.zip – enthält den Quellcode der öffentlichen Bibliotheken. Programme wie 7-Zip, WinRAR oder WinZip öffnen sie. In Eclipse sind die Quellen jedoch einfach zugänglich.