Anhang D

Anhang D gibt noch einmal einen komprimierten Überblick über die Neuerungen der Java-2-Plattform.

D.1 Neuerungen der Java-2-Plattform

Wie auch die letzten Wechsel des JDK hat der Wechsel vom JDK 1.2 auf das JDK 1.3 zahlreiche Neuerungen mit sich gebracht. Und das, obwohl beide zur Java-2-Plattform gezählt werden. Aber glücklicherweise sind diesmal die massiven Umstrukturierungen ausgeblieben, die den Wechsel vom JDK 1.1 auf das JDK 1.2 so chaotisch gemacht haben. Die meisten Veränderungen im JDK 1.3 sind Erweiterungen. Etwa die in Anhang B beschriebenen neuen Pakete, die hier nochmals kurz angegeben werden sollen. Neu im API des JDK 1.3 sind folgende Pakete:

java.awt.im.spi
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi
javax.rmi
javax.rmi.CORBA
javax.sound.midi
javax.sound.midi.spi
javax.sound.sampled
javax.sound.sampled.spi
javax.transaction
org.omg.CORBA_2_3
org.omg.CORBA_2_3.portable
org.omg.SendingContext
org.omg.stub.java.rmi

Aber auch darüber hinaus gibt es ein paar bemerkenswerte Neuerungen, die wir hier nicht alle im Detail ansprechen können und wollen. Dafür ist die Online-Dokumentation viel besser geeignet, zumal sich laufend in Details weitere Veränderungen ergeben. Ein paar wichtige Schlaglichter sollen dennoch aufgeführt werden.

Das Java Naming and Directory Interface (JNDI), das vorher nur als Erweiterung bereitstand, zählt nun direkt zur Java-2-Plattform. Dies spielt für den erweiterten Einsatz von Dingen wie CORBA Object Services und RMI eine Rolle.

Aber auch direkt im Bereicht Remote Method Invocation (RMI) gab es ein paar kleinere, aber durchaus interessante Veränderungen. So hat die Klasse java.rmi.server.RMIClassLoader eine neue Methode (getClassLoader()) und Strings jenseits von 64 K können serialisiert werden (das gilt allgemein für die Serialisation). Auch die Tools für die Arbeit mit RMI wurden geringfügig modifiziert. rmic hat einigen neue Optionen bekommen und rmid fordert eine Security-Policy-Datei. Dazu kommt, dass RMI CORBAs IIOP-Kommunikationsprotokoll verwenden kann.

Beim Drag&Drop unter Java gab es nur kleine Erweiterungen, aber beim Java Sound mit seiner Sound-Engine gibt es ein vollständig neues API. Damit können die Audioformate AIFF, AU und WAV und die Musikformate MIDI Type 0, MIDI Type 1 und Rich Music Format (RMF) verwendet werden. Auch in Hinblick auf die Sampling-Rate hat sich viel getan.

Für Applets gab es im Wesentlichen Feinschliff für die Performance.

Bei Java 2 D gab es dagegen einige Neuerungen, u.a. multiplen Monitor Support über die Klassen Frame(GraphicsConfiguration) und Window(Window, GraphicsConfiguration) und dynamisches Laden von Fonts.

Auch Swing und das AWT wurden erheblich erweitert. Der Umfang der Erweiterungen sprengt bei weitem den Rahmen dieses Buchs. Besonders erwähnenswert ist dabei die Einführung einer Klasse zum Generieren von nativen Systemen für Eingabe-Events (Robot) und die Überarbeitung der Druckmöglichkeiten von Java im AWT-API. Mit dem neuen Konzept sind hier zahlreiche neue Klassen eingeführt worden:

JobAttributes
JobAttributes.DefaultSelectionType
JobAttributes.DestinationType
JobAttributes.DialogType
JobAttributes.MultipleDocumentHandlingType
JobAttributes.SidesType
PageAttributes
PageAttributes.ColorType
PageAttributes.MediaType
PageAttributes.OrientationRequestedType
PageAttributes.OriginType
PageAttributes.PrintQualityType

Auch im Bereich Sicherheit, Serialization und der Arbeit mit Netzwerken hat das JDK 1.3 viele Detailerweiterungen erfahren, deren Details hier nicht besrochen werden können. Zum Thema Accessibility kann man als Schlaglicht anführen, dass diverse neue Klassen zur Java-2-Plattform hinzugefügt wurden (AccessibleIcon, AccessibleRelation, AccessibleRelationSet, AccessibleTable, AccessibleTableModelChange). Ansonsten halten sich die Neuerungen in der API des JDK 1.3 jedoch in Grenzen (mit Ausnahme der zahlreichen neuen Pakete, die in Anhang B angesprochen werden).

Allgemein hat Sun mit dem JDK 1.3 wieder versucht, ein großes Problem von Java weiter zu entschärfen - die Performance. Wichtigster Schritt in Hinblick auf eine bessere Performance ist die Hinzufügung der Java HotSpot Client Virtual Machine zu dem SDK. Diese bewirkt eine verbesserte Startup-Zeit, Speicheroperation und Programmausführung.

Für den Tool-Support (also die Unterstützung von Programmen, die das JDK nutzen) wurden mit dem Java Platform Debugger Architecture (JPDA) drei Schnittstellen bereitgestellt, die Debugger in fremden Entwicklungsumgebungen verwenden können.

Bei den JDK-Tools selbst ist besonders erwähnenswert, dass der Compiler komplett neu reimplementiert wurde und nun bedeutend schneller ist.

Die Tools jarsigner und keytool bekamen eine neue Option und das Jar-Tool unterstützt nun die Indizierung von Jar-Dateien. Damit wird der Zugriff auf diese hochkomprimierten Dateien schneller und einfacher.


© Copyright Markt+Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH
Elektronische Fassung des Titels: Java 2 Kompendium, ISBN: 3-8272-6039-6 Kapitel: Anhang D