From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100020.html | 707 +++++++++++++++++++++ 1 file changed, 707 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100020.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100020.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100020.html b/Master/Reference Architectures and Patterns/hjp5/html/k100020.html new file mode 100644 index 0000000..bfbca9d --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100020.html @@ -0,0 +1,707 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. 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 DVD. +Sie liegt im Verzeichnis \install\java6 +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 DVD. Es empfiehlt sich, die Datei \readme.txt +zu lesen, um einen Überblick über den Inhalt der DVD zu +bekommen. + +

+Wird die JDK-Dokumentation in das vorgeschlagene Installationsverzeichnis +extrahiert, kann sie durch Aufruf der Datei c:\jdk1.6\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: + +

+ + + + + + + + + + + + + + + + + + + + + + + +
NameBeschreibung
General InfoAllgemeine Infos zur Installation des JDK, +Lizenzbestimmungen, Versionen, Fehlerhinweise
API & LanguageVerweis 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 DocsDokumentation der Hilfsprogramme des JDK
J2RE & Plug-InVerweis auf die Online-Dokumentation zum +JRE und zum Java-PlugIn (siehe Abschnitt 40.4)
Demos/TutorialsAufruf 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.6\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 muss 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.6\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.

+ + + + +
 Tipp 
+
+ + + + +

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. + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NewsgroupInhalt
news:comp.lang.java.3dDiskussionen über das Java-3D-API (Homepage +auf http://www.j3d.org/)
news:comp.lang.java.advocacyAllgemeine Diskussionen über Java
news:comp.lang.java.announceModerierte Newsgroup mit Ankündigungen +und Vorstellungen von Neuentwicklungen. Wird kaum noch verwendet. +
news:comp.lang.java.apiDas Application Programming Interface und +die Klassenbibliothek. Die Gruppe ist veraltet und sollte nicht mehr +verwendet werden.
news:comp.lang.java.beansDie Komponentenarchitektur Beans
news:comp.lang.java.corbaJava, CORBA und Objektverteilung im Netz +
news:comp.lang.java.databasesDatenbankprogrammierung mit JDBC. Die kurze +Zeit vorhandene Gruppe comp.lang.java.database +wird nicht verwendet.
news:comp.lang.java.guiProgrammierung von grafischen Oberflächen +und Diskussion von GUI-Buildern
news:comp.lang.java.helpAllgemeine Quelle für Fragen aller +Art, von der Installation bis zu Programmierproblemen
news:comp.lang.java.machineDiskussionen um VMs und alles, was sich +unterhalb der Sprachebene abspielt. Ersetzt die Gruppe comp.lang.java.tech. +
news:comp.lang.java.miscVeraltete Gruppe mit Diskussionen zu unterschiedlichen +Themen. Sollte eigentlich nicht mehr verwendet werden.
news:comp.lang.java.programmerStark frequentierte Newsgroup zu allen möglichen +Aspekten der Java-Programmierung
news:comp.lang.java.securityDiskussion von Sicherheitsaspekten
news:comp.lang.java.setupDiskussion von Installationsaspekten. Ist +veraltet und sollte durch comp.lang.java.help ersetzt werden. +
news:comp.lang.java.softwaretoolsDiskussionen zu Tools, Werkzeugen und Entwicklungsumgebungen +rund um Java
news:comp.lang.java.techVeraltete Gruppe zu technischen Fragestellungen. +Wurde durch news:comp.lang.java.machine +ersetzt.
news:comp.lang.javascriptHier 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.javaEs gibt auch eine mittlerweile sehr stark +frequentierte deutsche Newsgroup, in der alle Aspekte von Java diskutiert +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/javase/ +gibt es Informationen rund um die aktuelle Version 6.0. + +

+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://dir.yahoo.com/Computers_and_Internet/Programming_and_Development/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/, http://jakarta.apache.org/, +http://sourceforge.net/ oder +http://freshmeat.net/. + +

+JavaLobby ist ein Zusammenschluss 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. 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 auch +das nicht sprachgebundene Dr. Dobb's Journal +hat eine Java-Rubrik unter http://www.ddj.com/topics/java/. +Das 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. +Das gilt auch für das Java Magazin, das unter http://www.javamagazin.de/ +zu finden ist. + +

+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 DVD 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 DVD 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 verschiedenen 1er-Versionen von Mozilla, +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, +muss in diesem Fall an der im Unterverzeichnis html +liegenden JavaScript-Datei hjp4lib.js +eine kleine Änderung vorgenommen werden. In den Variablen jdkdocs +und apidocs in den Zeilen 27 +und 28 muss nämlich der JDK-Dokumentationspfad korrekt gesetzt +sein. Er ist standardmäßig auf c:\jdk1.6\docs\ +bzw. c:\jdk1.6\docs\api\ eingestellt +(passend für eine Windows-Standardinstallation) und sollte der +eigenen Installation entsprechend verändert werden. Wenn alles +korrekt eingestellt ist, müssten die Schaltflächen »DOC« +und »API« am Anfang und Ende jeder Seite auf die Startseite +der JDK- und API-Dokumentation verzweigen.

+ + + + +
 Tipp 
+
+ + + + +

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 zusammengefasst. 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, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3