Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 3. Auflage
 <<    <     >    >>   API  Kapitel 3 - Wie geht es weiter?

3.2 Weiterführende Informationen



3.2.1 Die Dokumentation des JDK

Die Dokumentation zum JDK befindet sich auf der beigefügten CD-ROM. Sie liegt im Verzeichnis \install\jdk14 und kann wie in Abschnitt 2.1 beschrieben installiert werden. Zusätzlich befinden sich diverse weiterführende Informationen, Dokumentationen und Spezifikationen zu verschiedenen Aspekten der Java-Programmierung im Verzeichnis \java der CD-ROM. Es empfiehlt sich, die Datei \readme.txt zu lesen, um einen Überblick über den Inhalt der CD-ROM zu bekommen.

Wird die JDK-Dokumentation in das vorgeschlagene Installationsverzeichnis extrahiert, kann sie durch Aufruf der Datei c:\jdk1.4\docs\index.html mit einem HTML-Browser gelesen werden. Diese Einstiegsseite enthält Verweise auf alle anderen Teile der Dokumentation. Ein Großteil von ihnen wird zusammen mit dem JDK ausgeliefert, es gibt aber auch Online-Ressourcen, die auf dem JavaSoft-Server liegen. Die folgenden Hauptthemen sind als Verweise am oberen Rand der Startseite angeordnet und können direkt angesprungen werden:

Name Beschreibung
General Info Allgemeine Infos zur Installation des JDK, Lizenzbestimmungen, Versionen, Fehlerhinweise
API & Language Verweis auf die API-Dokumentation des JDK
Guide To Features Überblick über alle großen Pakete des JDK, mit Hinweisen zur Architektur, Erläuterungen und teilweise Spezifikationen
Tool Docs Dokumentation der Hilfsprogramme des JDK
J2RE & Plug-In Verweis auf die Online-Dokumentation zum JRE und zum Java-PlugIn (siehe Abschnitt 40.4)
Demos/Tutorials Aufruf der beigefügten Demo-Applets sowie Verweis auf eine Vielzahl von Online-Ressourcen zu Java

Tabelle 3.1: Inhalt der JDK-Dokumentation

Die bei der täglichen Arbeit wichtigste Dokumentation ist die API-Dokumentation des JDK. Sie kann über den Link »API & Language« oder durch direkten Aufruf der Datei c:\jdk1.4\docs\api\index.html gestartet werden. Als API bezeichnet man das Application Programming Interface, also die Programmierschnittstelle einer Klasse, eines Pakets oder einer ganzen Bibliothek. Die API-Dokumentation des JDK gibt detaillierte Auskunft zu allen öffentlichen Paketen, Klassen, Methoden und Variablen. Sie wurde von den JDK-Entwicklern mit javadoc generiert und sieht seit dem JDK 1.2 etwa so aus:

Abbildung 3.1: Die API-Dokumentation des JDK

Die drei Fenster haben folgende Bedeutung:

Die API-Dokumentation ersetzt zwar nicht die konzeptionelle Beschreibung der Java-Themen (das ist Aufgabe dieses Buchs), als Nachschlagewerk zu Details der Klassenbibliothek ist sie jedoch unentbehrlich. Der Umgang mit ihr sollte jedem Java-Entwickler in Fleisch und Blut übergehen. Manchmal bieten die Hilfesysteme der integrierten Entwicklungsumgebungen sogar noch komfortablere Möglichkeiten, auf die Dokumentation von Klassen und Methoden zuzugreifen.

Durch die alphabetische Anordnung der Pakete muß im linken oberen Fenster sehr häufig gescrollt werden. Einfacher wird es, wenn die wichtigsten und am häufigsten benötigten Pakete in der Liste nach oben verschoben werden. Wer rudimentäre HTML-Kenntnisse hat, kann dazu die Datei c:\jdk1.4\docs\api\overview-frame.html mit einem Texteditor öffnen und die gewünschten Zeilen editieren. Nützlich wäre es beispielsweise, die Pakete java.lang, java.io, java.util, java.awt, java.awt.event, javax.swing, java.sql und java.net an den Anfang der Liste zu setzen.

 Tip 

3.2.2 Informationen im Internet

Java ist die Sprache des Internet, und folglich gibt es unzählige Ressourcen im Internet, die sich in der einen oder anderen Weise mit Java beschäftigen. Leider veralten viele der Adressen fast ebenso schnell, wie sie erschienen sind, und ein Buch ist daher nur bedingt geeignet, sie aufzuzählen. Wir wollen uns auf einige der wichtigsten Adressen beschränken, die bei der Entwicklung von Java-Programmen nützlich sein können.

Usenet

Die offiziellen Usenet-Newsgroups zu Java beginnen mit dem Namen comp.lang.java. Hier gibt es eine ganze Reihe von Untergruppen zu speziellen Themen. Leider ist die Abgrenzung zwischen den einzelnen Untergruppen nicht immer klar, und es kommt regelmäßig zu Überschneidungen und Crosspostings. Tabelle 3.2 listet die Gruppen der comp.lang.java-Hierarchie auf.

Newsgroup Inhalt
news:comp.lang.java.3d Diskussionen über das Java-3D-API (Homepage auf http://www.j3d.org/)
news:comp.lang.java.advocacy Allgemeine Diskussionen über Java
news:comp.lang.java.announce Moderierte Newsgroup mit Ankündigungen und Vorstellungen von Neuentwicklungen. Wird kaum noch verwendet.
news:comp.lang.java.api Das Application Programming Interface und die Klassenbibliothek. Die Gruppe ist veraltet und sollte nicht mehr verwendet werden.
news:comp.lang.java.beans Die Komponentenarchitektur Beans
news:comp.lang.java.corba Java, CORBA und Objektverteilung im Netz
news:comp.lang.java.databases Datenbankprogrammierung mit JDBC. Die kurze Zeit vorhandene Gruppe comp.lang.java.database wird nicht verwendet.
news:comp.lang.java.gui Programmierung von grafischen Oberflächen und Diskussion von GUI-Buildern
news:comp.lang.java.help Allgemeine Quelle für Fragen aller Art, von der Installation bis zu Programmierproblemen
news:comp.lang.java.machine Diskussionen um VMs und alles, was sich unterhalb der Sprachebene abspielt. Ersetzt die Gruppe comp.lang.java.tech.
news:comp.lang.java.misc Veraltete Gruppe mit Diskussionen zu unterschiedlichen Themen. Sollte eigentlich nicht mehr verwendet werden.
news:comp.lang.java.programmer Stark frequentierte Newsgroup zu allen möglichen Aspekten der Java-Programmierung
news:comp.lang.java.security Diskussion von Sicherheitsaspekten
news:comp.lang.java.setup Diskussion von Installationsaspekten. Ist veraltet und sollte durch comp.lang.java.help ersetzt werden.
news:comp.lang.java.softwaretools Diskussionen zu Tools, Werkzeugen und Entwicklungsumgebungen rund um Java
news:comp.lang.java.tech Veraltete Gruppe zu technischen Fragestellungen. Wurde durch news:comp.lang.java.machine ersetzt.
news:comp.lang.javascript Hier dreht sich alles um die Script-Sprache JavaScript. Diese Gruppe hat daher keinen direkten Bezug zu Java, soll aber der Vollständigkeit halber erwähnt werden.
news:de.comp.lang.java Es gibt auch eine mittlerweile sehr stark frequentierte deutsche Newsgroup, in der alle Aspekte von Java diskutiert werden. Diese besitzt zudem eine Homepage http://www.dclj.de, auf der wichtige Dokumente direkt zur Verfügung gestellt werden.

Tabelle 3.2: Die comp.lang.java-Hierarchie im Usenet

Meta-Ressourcen

Unter http://java.sun.com/ oder http://www.javasoft.com/ finden Sie den Java-Server von SUN bzw. SUNs JavaSoft Division. Hier sind Informationen aus erster Hand von den Entwicklern der Sprache zu finden. Dieser Server ist die erste Adresse, wenn es um Neuigkeiten, aktuelle Entwicklungen und Dokumentationen geht. Hier gibt es auch Links zu weiteren Meta-Ressourcen, die hier nicht erwähnt werden. Ein direkter Link auf die von SUN für Java zur Verfügung gestellten Entwicklungsumgebungen ist http://java.sun.com/products/. Unter der Adresse http://java.sun.com/j2se/1.4/ gibt es alles rund um die aktuelle Java-Version 1.4.

Eine wichtige Adresse für Entwickler ist auch die der Java Developer's Connection (JDC) unter http://developer.java.sun.com/. Diese Seiten werden von SUN gepflegt, um eine zentrale Anlaufstelle für Java-Entwickler zur Verfügung zu stellen. Es gibt dort Diskussionsforen, Schulungsangebote, weitere Software und jede Menge nützliche Informationen. Wichtiges »Organ« der JDC ist der JDC-Newsletter. Dabei handelt es sich um einen Newsletter, der per E-Mail regelmäßig über aktuelle Neuerungen informiert. Der Zutritt zur JDC ist kostenlos, erfordert aber das Ausfüllen einer Registrierungsseite.

Mitunter ebenfalls wichtig ist die - etwas euphemistisch als Bug Parade bezeichnete - Fehlerdatenbank des Java Development Kit. Hier werden alle bekannten Fehler gelistet und mit Beschreibung, Behebungs-Status und möglichen Workarounds beschrieben. Die Bug Parade kann unter http://developer.java.sun.com/developer/bugParade/index.jshtml erreicht und online nach Fehlern durchsucht werden. Registrierte Entwickler können neue Fehler eintragen oder zu bekannten Fehlern ihre Stimme abgegeben - in der Hoffnung, dadurch die Behebung zu beschleunigen.

Auch in den großen Web-Verzeichnissen gibt es meist eigene Rubriken für die Programmiersprache Java. Yahoo stellt diese beispielsweise unter http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Java zur Verfügung, und bei Google lautet die Adresse http://directory.google.com/Top/Computers/Programming/Languages/Java/.

In der Anfangszeit der Java-Entwicklung gab es eine ganze Reihe von Sites, die Unmengen an freien Java-Tools, -Applets und -Programmen oder frei zugänglichen Quellcode anboten. Viele von ihnen sind mittlerweile verschwunden, in einem anderen Dienst aufgegangen oder wurden kommerzialisiert. Einige Anlaufstellen sind http://www.componentsource.com/, http://www.jguru.com/, http://www.sunsource.net/, http://www.jars.com/ oder das von SUN verwaltete Verzeichnis von Java-Lösungen http://industry.java.sun.com/solutions/. Frei zugängliche Java-Software und -Projekte gibt es unter anderem auf http://www.gnu.org/software/software.html#Java, http://jakarta.apache.org/, http://sourceforge.net/ oder http://freshmeat.net/.

JavaLobby ist ein Zusammenschluß von Java-Enthusiasten, die das Ziel verfolgen, die Sprache zu verbreiten und für ein »100 % Pure Java« einzutreten. Die Homepage unter http://www.javalobby.org/ bietet auch eine ganze Menge Verweise zu Java-Ressourcen und interessante Artikel rund um Java. Unter der Adresse http://www.apl.jhu.edu/~hall/java/ verwaltet Marty Hall von der Johns Hopkins University eine interessante Liste von Java-Ressourcen mit Links zu FAQs, weiteren Dokumentationen, Beispielanwendungen, Entwicklungsumgebungen, Klassenbibliotheken und vielem anderen mehr.

FAQs

Eine Liste von Java-FAQs gibt es unter http://www.faqs.org/faqs/computer-lang/java/. Dort wird auch auf das sehr umfangreiche, aber nicht mehr ganz aktuelle FAQ von Peter van der Linden verwiesen, das unter http://www.afu.com/javafaq.html gefunden werden kann. Eine weitere Liste von Java-FAQs gibt es unter http://www.links2go.com/topic/java_faqs.

Von Roedy Green gibt es unter http://mindprod.com/jgloss.html ein Glossar, in dem viele Begriffe und Konzepte rund um Java erläutert werden.

Von SUN selbst gibt es ebenfalls ein FAQ, das unter http://www.javasoft.com/products/jdk/faq.html zu finden ist. Dort sind auch einige Metainformationen und firmenbezogene Informationen über Java zu finden.

Einige FAQs zur deutschen Java-Newsgroup sind unter http://www.dclj.de/faq.html zu finden.

Online-Magazine und Dokumentationen

Unter http://www.sys-con.com/java/ ist die Onlineversion des Java Developer's Journal zu finden. Unter http://www.javaworld.com/ findet sich die Java World, und die Adresse für den Java Report Online ist http://www.javareport.com/. Auch das nicht sprachgebundene Dr. Dobb's Journal hat eine Java-Rubrik unter http://www.ddj.com/topics/java/. Das auch in deutscher Sprache erhältliche Java Spektrum ist unter http://www.sigs-datacom.de/sd/publications/js/index.htm zu finden. Online steht es allerdings nur in Auszügen zur Verfügung.

Auf dem SUN-Server gibt es weitere Dokumentationen zu Java. Auf http://java.sun.com/docs/books/ wird die Java Series vorgestellt, in der SUN zusammen mit Addison-Wesley eine große Zahl von Java-Büchern publiziert hat. Unter http://java.sun.com/docs/books/jls/index.html ist die Sprachspezifikation zu finden, und die Beschreibung der virtuellen Maschine findet sich unter http://java.sun.com/docs/books/vmspec/index.html.

3.2.3 Die HTML-Ausgabe

Beschreibung

Auf der CD-ROM befindet sich im Verzeichnis \html die HTML-Ausgabe des Buchs. Alternativ kann sie auch von http://www.javabuch.de oder http://www.gkrueger.com heruntergeladen werden. Sie enthält den kompletten Buchtext und eignet sich mit ihren Querverweisen und Navigationshilfen ausgezeichnet als Nachschlagewerk. Die HTML-Ausgabe kann direkt von der CD-ROM aufgerufen oder lokal installiert werden. Beides ist in der beigefügten Dokumentation beschrieben.

Abbildung 3.2: Die HTML-Ausgabe des Buchs

Die HTML-Ausgabe sollte mit den gängigen aktuellen Browsern gelesen werden können. Getestet wurde sie mit den 4er und 6er Versionen des Netscape Navigator, mit Internet Explorer 4, 5 und 6 und mit Opera 3.5 (wegen fehlender JavaScript-Unterstützung und leicht abweichender Tabellenformatierung gibt es hier einige Einschränkungen). Die im Text verwendeten Farben wurden Web-konform gewählt und sollten auch auf LCD-Bildschirmen und 256-Farben-Displays gut lesbar sein. Als sinnvolle Mindestauflösung kann 800 * 600 Pixel angesehen werden, wenn die Schriftgröße im Browser nicht zu groß eingestellt ist.

Navigation mit der Maus

Es gibt eine Vielzahl von Navigationshilfen:

Navigation über die Tastatur

Es gibt eine limitierte Form der Tastaturbedienung, mit der wichtige Seiten ohne Zuhilfenahme der Maus angesprungen werden können. Auf den meisten Seiten stehen folgende Tastaturbefehle zur Verfügung:

Auf der Hauptseite des Index kann der gewünschte Indexbuchstabe auch über die Tastatur eingegeben werden. Die zuvor beschriebenen Kürzel sind auf dieser Seite außer Kraft.

Einsatz von JavaScript

Die HTML-Ausgabe enthält hauptsächlich HTML-3.2-Code. Cascading Style Sheets oder ähnliche Erweiterungen wurden nicht verwendet. Ein Java-Applet wird nur für die Suchfunktion verwendet, und der Einsatz von JavaScript wurde so gering wie möglich gehalten. Die HTML-Ausgabe ist auch verwendbar, wenn JavaScript im Browser deaktiviert ist oder nicht unterstützt wird. In diesem Fall gibt es einige kleine Einschränkungen:

Ist JavaScript aktiviert, kann die JDK-Dokumentation an einer beliebigen Stelle liegen. Damit die Links der HTML-Ausgabe korrekt funktionieren, muß in diesem Fall an der im Unterverzeichnis html liegenden JavaScript-Datei hjp3lib.js eine kleine Änderung vorgenommen werden. In den Variablen jdkdocs und apidocs in den Zeilen 27 und 28 muß nämlich der JDK-Dokumentationspfad korrekt gesetzt sein. Er ist standardmäßig auf c:\jdk1.4\docs\ bzw. c:\jdk1.4\docs\api\ eingestellt (passend für eine Windows-Standardinstallation) und sollte der eigenen Installation entsprechend verändert werden. Wenn alles korrekt eingestellt ist, müßten die Schaltflächen "DOC" und "API" am Anfang und Ende jeder Seite auf die Startseite der JDK- und API-Dokumentation verzweigen.

 Tip 

3.2.4 Die im Buch verwendete UML-Notation

Im Buch werden mitunter Grafiken verwendet, um die Beziehungen zwischen Klassen darzustellen. Wir wenden dazu eine leicht modifizierte Form von Klassendiagrammen an, wie sie auch in der Unified Modeling Language (kurz UML) verwendet werden. UML ist eine verbreitete Notation und Methodik für objektorientierte Analyse und Design. Mit ihrer Darstellung alleine könnte man leicht mehrere Bücher füllen. Wir wollen uns in diesem Buch auf die Basisnotation, die Klassendiagramme, beschränken.

Eine Klasse wird als graues Rechteck dargestellt, das in seinem Inneren den Namen der Klasse trägt. Mitunter hat es weitere Unterteilungen, in denen Methoden untergebracht sind, wenn diese für das Verständnis der Zusammenhänge von Bedeutung sind. Interfaces werden ebenfalls als Rechteck dargestellt (worum es sich dabei handelt, wird in Kapitel 9 erläutert), haben aber einen weißen Hintergrund. Zusätzlich wird über den Namen der Text »interface« geschrieben.

Abbildung 3.3 zeigt drei Klassen Vector, String und MyOwnClass und zwei Interfaces Enumeration und Serializable:

Abbildung 3.3: UML-Notation für Klassen und Interfaces

Klassen und Methoden können in Beziehungen zueinander stehen. Diese werden durch Verbindungslinien grafisch dargestellt. Bei einer Vererbungsbeziehung wird ein Pfeil von der abgeleiteten zur Basisklasse gezogen. Die Basisklasse steht in aller Regel über der abgeleiteten Klasse. Erben mehrere Klassen von einer Basisklasse, werden die Pfeile zur besseren Übersichtlichkeit zusammengefaßt. Die Implementierung eines Interfaces wird analog dargestellt, allerdings mit gestrichelten Linien.

Aggregation und Komposition wird durch eine Verbindungslinine dargestellt, die auf der Seite mit dem Container eine kleine Raute trägt. Wir unterscheiden dabei nicht zwischen den beiden Varianten. Aufrufbeziehungen werden als gestrichelte Pfeile mit Beschriftung dargestellt. Der Text beschreibt die Bedeutung des Aufrufs.

Abbildung 3.4 zeigt eine Basisklasse AbstractComponent, die das Interface Component implementiert. Aus AbstractComponent sind die drei Klassen ConcreteComponent1, ConcreteComponent2 und Container abgeleitet. Container ist Besitzer einer Sammlung von AbstractComponent-Objekten. ConcreteComponent2 verwendet die Klasse Cache:

Abbildung 3.4: UML-Notation für Beziehungen zwischen Klassen und Interfaces


 Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1
 <<    <     >    >>   API  © 1998-2003 Guido Krüger, http://www.javabuch.de