Titel   Inhalt   Suchen   Index   API  Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung
 <<    <     >    >>  Kapitel 3 - Wie geht es weiter?

3.2 Weiterführende Informationen



3.2.1 Die Dokumentation des JDKDokumentation des JDK

Die Dokumentation zum JDK befindet sich auf der beigefügten CD-ROM. Sie liegt im Verzeichnis \install\jdk13 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 voreingestellte Installationsverzeichnis extrahiert, kann sie durch Aufruf der Datei c:\jdk1.3\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.3\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 (sofern nicht seine integrierte Entwicklungsumgebung eine komfortablere Alternative bietet).

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.3\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 Nachrichten pro Tag
news:comp.lang.java.advocacy Allgemeine Diskussionen über Java ca. 60
news:comp.lang.java.announce Moderierte Newsgroup mit Ankündigungen und Vorstellungen von Neuentwicklungen. Wird kaum noch verwendet. < 1
news:comp.lang.java.api Das Application Programming Interface und die Klassenbibliothek. Die Gruppe ist veraltet und sollte nicht mehr verwendet werden. ca. 1
news:comp.lang.java.beans Die Komponentenarchitektur Beans ca. 5-10
news:comp.lang.java.corba Java, CORBA und Objektverteilung im Netz ca. 5
news:comp.lang.java.databases Datenbankprogrammierung mit JDBC ca. 15-20
news:comp.lang.java.gui Programmierung von grafischen Oberflächen und Diskussion von GUI-Buildern ca. 30
news:comp.lang.java.help Allgemeine Quelle für Fragen aller Art, von der Installation bis zu Programmierproblemen ca. 80
news:comp.lang.java.machine Diskussionen um VMs und alles, was sich unterhalb der Sprachebene abspielt. Ersetzt die Gruppe comp.lang.java.tech. ca. 2-3
news:comp.lang.java.misc Veraltete Gruppe mit Diskussionen zu unterschiedlichen Themen. Sollte eigentlich nicht mehr verwendet werden. ca. 5
news:comp.lang.java.programmer Stark frequentierte Newsgroup zu allen möglichen Aspekten der Java-Programmierung ca. 170
news:comp.lang.java.security Diskussion von Sicherheitsaspekten ca. 5
news:comp.lang.java.setup Diskussion von Installationsaspekten. Ist veraltet und sollte durch comp.lang.java.help ersetzt werden. < 1
news:comp.lang.java.softwaretools Diskussionen zu Tools, Werkzeugen und Entwicklungsumgebungen rund um Java ca. 10
news:comp.lang.java.tech Veraltete Gruppe zu technischen Fragestellungen. Wurde durch news:comp.lang.java.machine ersetzt. ca. 1-2
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. Nicht ermittelt
news:de.comp.lang.java Es gibt auch eine (mittlerweile recht stark frequentierte) deutsche Newsgroup, in der alle Aspekte von Java diskutiert werden. ca. 70-80

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/products/jdk/1.3/ gibt es alles rund um die aktuelle Java-Version 1.3.

Eine wichtige Adresse für Entwickler ist auch die der Java Developer's Connection (JDC) unter http://java.sun.com/jdc. 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 Yahoo gibt es eine eigene Rubrik für die Programmiersprache Java. Unter der Adresse http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Java findet sich eine Vielzahl von Links zu Java-spezifischen Themen.

Eines der größten Java-Verzeichnisse im Internet nennt sich Gamelan und ist unter der Adresse http://www.gamelan.com/ zu finden. Hier werden in einer ganzen Reihe von Rubriken über zehntausend Applets und Applikationen beschrieben. Gamelan bietet diverse Suchmöglichkeiten, und es gibt Listen der neuesten und interessantesten Applets. Vergleichbar mit Gamelan ist JARS, der »Java Applet Rating Service«. Er befindet sich unter der Adresse http://www.jars.com/ und bietet ebenfalls eine Vielzahl von Verweisen auf Java-Ressourcen im Internet.

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

Die (mittlerweile etwas veralteten) FAQs (Frequently Asked Questions) der Newsgroup comp.lang.java stammen von Elliotte Rusty Harold und sind unter der Adresse http://sunsite.unc.edu/javafaq/javafaq.html zu finden. Sie enthalten zahlreiche Hinweise zur Sprache, der Klassenbibliothek und zu den Java-Werkzeugen.

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.

Auch Peter van der Linden, ein bekannter Java-Programmierer und Buchautor bietet ein FAQ-Dokument an (vermutlich das umfangreichste und aktuellste im Netz), das unter der Adresse http://www.afu.com/javafaq.html gefunden werden kann.

Das FAQ zur deutschen Java-Newsgroup wird von Markus Reitz gepflegt und ist unter http://www.geocities.com/SiliconValley/Foothills/5270/java.html zu finden.

Online-Magazine und Dokumentationen

Unter http://www.sys-con.com/java/index2.html ist die Onlineversion des Java Developer's Journal zu finden. Unter http://www.javaworld.com/javasoft.index.html findet sich die Java World, und die Adresse für den Java Report Online ist http://www.javareport.com/. Das auch in deutscher Sprache erhältliche Java Spektrum ist unter http://www.sigs.de/html/java_tm_spektrum.html zu finden. Online steht es allerdings nur in Auszügen zur Verfügung.

Auf dem SUN-Server gibt es weitere Dokumentationen zu Java. Unter http://java.sun.com/docs/books/jls//index.html ist die Sprachspezifikation zu finden, und die Spezifikation der virtuellen Maschine findet sich unter http://java.sun.com/docs/books/vmspec//index.html. Unter http://java.sun.com/docs/books/tutorial/index.html finden Sie ein Java-Tutorial von Sun. Einen Überblick über die insgesamt bei SUN verfügbare Java-Dokumentation gibt es unter der Adresse http://java.sun.com/docs/index.html.

3.2.3 Die HTML-Version

Beschreibung

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

Abbildung 3.2: Die HTML-Version des Buchs

Die HTML-Version sollte mit den gängigen aktuellen Browsern gelesen werden können. Getestet wurde sie mit den 4er Versionen des Netscape Navigator und Internet Explorer, mit Opera 3.5 (wegen fehlender JavaScript-Unterstützung und leicht abweichender Tabellenformatierung gibt es hier einige Einschränkungen) und mit Mozilla 5.0 (in der getesteten Version M15 funktionierte die Tastaturbedienung noch nicht). 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-Version enthält hauptsächlich HTML-3.2-Code. Cascading Style Sheets oder ähnliche Erweiterungen wurden nicht verwendet. Es gibt keine Java-Applets, und der Einsatz von JavaScript wurde so gering wie möglich gehalten. Die HTML-Version ist auch verwendbar, wenn JavaScript im Browser deaktiviert ist oder nicht unterstützt wird. In diesem Fall gibt es allerdings einige kleine Einschränkungen:

Ist JavaScript aktiviert, kann die API-Dokumentation an einer beliebigen Stelle liegen. Damit die Links der HTML-Version korrekt funktionieren, muß in diesem Fall an der im Unterverzeichnis html liegenden JavaScript-Datei gj22lib.js eine kleine Änderung vorgenommen werden. In der Variable apidocs in Zeile 27 muß nämlich der JDK-Dokumentationspfad korrekt gesetzt sein. Er ist standardmäßig auf c:\jdk1.3\docs\api\ eingestellt (passend für eine Windows-Standardinstallation) und sollte der eigenen Installation entsprechend verändert werden. Wenn alles korrekt eingestellt ist, müßte die Schaltfläche "API" am Ende dieser Seite auf die Startseite der 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   API  Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0
 <<    <     >    >>  © 2000 Guido Krüger, http://www.gkrueger.com