summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100001.html
blob: c7d60b9d131e963bee495ff7caaacb5fea65cd65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
<html>
<head>
<title>
Handbuch der Java-Programmierung, 5. Auflage
</title>
</head>
<body>
<a name="startofbody"></a>
<script language="JavaScript" src="hjp4lib.js">
</script>
<script language="JavaScript">
installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,;106,cover.html;107,k100002.html;108,k100002.html");
</script>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100002.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100002.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">Vorwort
</table>
<hr>


<!-- Chaplite -->
<a name="foreword"></a>
<h1>Vorwort </h1>

<p>
<b>Vorwort zur 5. Auflage</b>

<p>
Die 5. Auflage des Handbuchs der Java Programmierung wurde f&uuml;r
die Version 6 der Java Standard Edition mit dem Codenamen Mustang
&uuml;berarbeitet und ist erstmals eine Gemeinschaftsproduktion zweier
Autoren. Die Version 6 der Standard Edition l&auml;sst diese noch
ein St&uuml;ck n&auml;her an ihren gro&szlig;en Bruder Enterprise
Edition r&uuml;cken indem Sie weitere Bibliotheken von diesem entlehnt.

<p>
Neben vielen Detailverbesserungen, &uuml;berarbeiteten Listings und
Korrekturen findet der Leser in dieser Auflage 
<ul>
<li>Weitere Klassen und Interfaces aus der Java Standard Bibliothek
<li>Eine &uuml;berarbeitete Ein- und Ausgabe (<a href="k100016.html#subsectionscanner">Abschnitt 2.3.3</a>)
<li>&Uuml;berarbeitete Beispiele f&uuml;r Regul&auml;re Ausdr&uuml;cke
(<a href="k100115.html#sectionregex">Abschnitt 17.1</a>)
<li>Ein neues Kapitel zur Persistenz API (<a href="k100287.html#kapitelpersistence">Kapitel 45</a>)
<li>Eine Einf&uuml;hrung in die Welt der Annotationen (<a href="k100277.html#sectionannotationen">Abschnitt 43.6</a>)
</ul>

<p>
Als zus&auml;tzliche Neuerung finden Sie auf der beiliegenden DVD
im Ordner <font color="#660099">/MindMaps</font> erstmals die behandelten
Themenkomplexe als grafische MindMap aufgearbeitet. 

<p>
<b>Guido Kr&uuml;ger und Thomas Stark, Oktober 2007</b> 

<p>
<b>Vorwort zur 4. Auflage</b>

<p>
Die 4. Auflage des Handbuchs der Java-Programmierung behandelt die
Neuerungen, die mit der Version 5.0 der Java 2 Standard Edition eingef&uuml;hrt
wurden. Dieser, unter dem Codenamen &#187;Tiger&#171; entwickelte
Nachfolger der Version 1.4 bringt viele Verbesserungen, die vor allem
den Java-Entwicklern selbst das Leben leichter machen sollen (Stichwort
&#187;Ease Of Development&#171;). Zu ihnen z&auml;hlen unter anderem
folgende Features: 
<ul>
<li>Autoboxing/Autounboxing (<a href="k100066.html#autoboxing">Abschnitt 10.2.3</a>)
<li>Die Erweiterte for-Schleife (<a href="k100043.html#dieforschleife">Abschnitt 6.3.3</a>)
<li>Variable Parameterlisten (<a href="k100049.html#variableparameterlisten">Abschnitt 7.3.4</a>)
<li>Statische Imports (<a href="k100061.html#weitereanwinterfaces">Abschnitt 9.4</a>)
<li>Aufz&auml;hlungstypen (<a href="k100067.html#aufzaehlungstypen">Abschnitt 10.3</a>),
<li>Printf-&auml;hnliche Ausgabeformatierung (<a href="k100076.html#ausgabeformatierung">Abschnitt 11.6</a>)
<li>Generische (oder typisierte) Klassen und Collections (<a href="k100105.html#typisierteklassen">Abschnitt 15.8</a>)
</ul>

<p>
Neben der Beschreibung dieser Erweiterungen wurden kleinere Fehler
korrigiert und verschiedene Unklarheiten beseitigt. Dar&uuml;ber hinaus
wurden die Einstiegs- und Installationshinweise &uuml;berarbeitet
sowie der Inhalt der CD-ROM an die aktuellen Java-Versionen angepasst.

<p>
<b>Guido Kr&uuml;ger, Oktober 2004</b> 

<p>
<b>Vorwort zur 3. Auflage</b>

<p>
Das &#187;Handbuch der Java-Programmierung&#171; ist der Nachfolger
von &#187;Go To Java 2&#171; und seiner im Sp&auml;tsommer 2000 erschienenen
zweiten Auflage. Somit verl&auml;&szlig;t das Buch die GoTo-Reihe,
in die es, vor allem auf Grund des erneut gestiegenen Umfangs, nicht
mehr recht hineinpasste. Dennoch ist das Handbuch der Java-Programmierung
nicht mehr und nicht weniger als die konsequente Fortf&uuml;hrung
seiner erfolgreichen Vorg&auml;nger, die bis auf &#187;Java 1.1 lernen&#171;
und &#187;Symantec Visual Cafe&#171; zur&uuml;ckgef&uuml;hrt werden
k&ouml;nnen. Um diese Kontinuit&auml;t deutlich zu machen, haben wir
die Numerierung der Auflagen beibehalten und der aktuellen Auflage
die Nummer &#187;3.0&#171; zugeordnet. 

<p>
Unterst&uuml;tzt durch die gro&szlig;e Zahl an Leserzuschriften und
die Diskussion mit Kollegen, Freunden und anderen Java-Enthusiasten
wurde das Buch mit vielen Erweiterungen und Erg&auml;nzungen versehen.
Alle f&uuml;r Java-Einsteiger und Fortgeschrittene wichtigen Themen
werden ausf&uuml;hrlich behandelt. Der bew&auml;hrte Aufbau wurde
beibehalten, und das Buch kann sowohl als Lehr- wie auch als Nachschlagewerk
eingesetzt werden. 

<p>
Das Handbuch der Java-Programmierung besteht aus 50 Kapiteln, die
alle wesentlichen Aspekte der Programmiersprache Java und seiner umfangreichen
Klassenbibliothek erl&auml;utern. Mit &uuml;ber 170 Abbildungen, 80
Tabellen, 440 Beispielprogrammen und 600 Querverweisen ist es f&uuml;r
die Verwendung im Unterricht und zum Selbststudium bestens geeignet.

<p>
Gegen&uuml;ber der zweiten Auflage wurden folgende Abschnitte neu
aufgenommen: 
<ul>
<li>Zugriff auf Arrays per Reflection (<a href="k100276.html#arraysmitreflection">Abschnitt 43.5</a>)
<li>Java WebStart (<a href="k100088.html#javawebstart">Abschnitt 13.5</a>)
<li>Assertions (<a href="k100044.html#assertanweisung">Abschnitt 6.4.1</a>)
<li>Das Sound-API (<a href="k100307.html#kapitelsound">Kapitel 49</a>)
</ul>

<p>
Zudem wurde das Buch an die Version 1.4 des JDK angepasst und viele
kleine Fehler aus der vorigen Auflage korrigiert. Die Linkliste wurde
ebenso angepasst wie die Java-Historie, die Beschreibung der Standardpakete
oder die Syntax der JDK-Werkzeuge. F&uuml;r Anf&auml;nger wurden die
Kapitel 2 und 3 erneut erweitert, es gibt detaillierte Erkl&auml;rungen
zum Aufruf von Java-Programmen unter Windows, und <a href="k100016.html#troubleshooting">Abschnitt 2.3.7</a>
beschreibt h&auml;ufig gemachte Fehler und wie man sie umgeht. Weitere
Verbesserungen gab es bei den Abschnitten &uuml;ber die Swing-Komponenten,
die jetzt auch die neuen 1.4-Komponenten <a href="index_j.html#ixb100001"><font color=#000080><tt>JFormattedTextField</tt></font></a>
und <a href="index_j.html#ixb100002"><font color=#000080><tt>JSpinner</tt></font></a>
sowie animierte Fortschrittsanzeigen umfassen und auf das neue Focus-Subsystem
eingehen. Der JDBC-Teil wurde um Hinweise zur Konfiguration von MS
Access, InstantDB und HSQLDB erweitert, und der <a href="index_e.html#ixb100003"><font color=#000080><tt>ExperimentalWebServer</tt></font></a>
beherrscht jetzt das <a href="index_h.html#ixb100004"><font color=#000080><tt>HEAD</tt></font></a>-Kommando
und eignet sich f&uuml;r den Betrieb von Java WebStart. Nicht zuletzt
gab es Verbesserungen bei der HTML-Ausgabe, die jetzt noch umfangreicher
und leichter zu bedienen ist. 

<p>
Gegen&uuml;ber der ersten Auflage wurden in der zweiten die einleitenden
Kapitel vereinfacht, um Anf&auml;ngern den Einstieg zu erleichtern.
Zudem wurden weiterf&uuml;hrende Themen aufgenommen, um auch dem fortgeschrittenen
Leser gen&uuml;gend Lesestoff zu bieten. 

<p>
Die wichtigsten &Auml;nderungen der zweiten Auflage waren: 
<ul>
<li>Die ersten Schritte werden ausf&uuml;hrlicher erkl&auml;rt, und
das f&uuml;r viele Anf&auml;nger zu schwierige Kapitel 2 wurde entfernt
<li>Es gibt eine Einf&uuml;hrung in die objektorientierte Programmierung
sowie ein Kapitel &uuml;ber objektorientiertes Design und Design-Patterns
<li>Bei vielen Themenkomplexen werden in einer Einleitung zun&auml;chst
die wichtigsten fachlichen Grundlagen vermittelt, bevor auf die Umsetzung
in Java eingegangen wird (Objektorientierte Programmierung, Netzwerkprogrammierung,
SQL, Kryptographie etc.)
<li>Viele neue Kapitel oder Abschnitte sind hinzugekommen, beispielsweise
<ul>
<li>Java Beans (<a href="k100279.html#kapitelbeans">Kapitel 44</a>)
<li>Sicherheit und Kryptographie (<a href="k100302.html#kapitelsicherheit">Kapitel 48</a>)
<li>Remote Methode Invocation (<a href="k100298.html#kapitelrmi">Kapitel 47</a>)
<li>Byte-Streams (<a href="k100125.html#kapitelbytestreams">Kapitel 19</a>)
<li>Beliebig genaue Arithmetik (<a href="k100117.html#bigintbigdec">Abschnitt 17.3</a>)
<li>Internationalisierung und Ressourcen-Management (<a href="k100118.html#internationalisierung">Abschnitt 17.4</a>)
<li>Drucken und Zugriff auf serielle und parallele Schnittstelle (<a href="k100167.html#kapiteldrucken">Kapitel 26</a>)
<li>Fortgeschrittene Applet-Programmierung (<a href="k100254.html#kapitelapplets2">Kapitel 40</a>)
</ul>
<li>Zudem gibt es eine komplette Einf&uuml;hrung in die Swing-Programmierung,
die folgende Themen behandelt: 
<ul>
<li>Grundlagen und Abgrenzung zwischen Swing und AWT (<a href="k100228.html#kapitelswinggrundlagen">Kapitel 35</a>)
<li>Swing-Container und Men&uuml;s (<a href="k100232.html#kapitelswingcontainermenues">Kapitel 36</a>)
<li>Alle elementaren Swing-Komponenten (<a href="k100237.html#kapitelswingdialogelemente1">Kapitel 37</a>)
<li>Komplexe Komponenten und Panels, Tables und Trees (<a href="k100243.html#kapitelswingdialogelemente2">Kapitel 38</a>)
</ul>
</ul>

<p>
Ebenso wie zu den Vorg&auml;ngerversionen wurde auch zu diesem Buch
eine HTML-Ausgabe erstellt. Sie ist auf der beigef&uuml;gten CD-ROM
enthalten und stellt das komplette Buch im Hypertext-Format dar. Mit
ihren Navigationshilfen und der gro&szlig;en Zahl an Querverweisen
(es sind inkl. Index &uuml;ber 20000) ist sie ausgezeichnet als Referenz
verwendbar. Daneben enth&auml;lt die CD-ROM die Beispiele aus dem
Buch sowie das Java Development Kit und weitere n&uuml;tzliche Werkzeuge
und Hilfsmittel. 

<p>
Wie bisher kann die HTML-Ausgabe frei aus dem Internet geladen werden.
Studenten und Leser mit eingeschr&auml;nkten finanziellen M&ouml;glichkeiten
k&ouml;nnen so Java lernen, ohne das Buch kaufen zu m&uuml;ssen, oder
k&ouml;nnen es vor dem Kauf eingehend studieren. Auch Universit&auml;ten
und vergleichbare Einrichtungen werden die M&ouml;glichkeit zur Installation
einer gespiegelten Version erhalten, um das Buch effizient in der
Java-Ausbildung nutzen zu k&ouml;nnen. 

<p>
Um weitere Informationen zum Handbuch der Java-Programmierung zu erhalten,
k&ouml;nnen Sie seine Homepage unter <a href="http://www.javabuch.de">http://www.javabuch.de</a>
besuchen. Dort k&ouml;nnen Sie auch die freie HTML-Ausgabe herunterladen,
und Sie finden eine Liste aller bekannten Fehler und Ungenauigkeiten.
Teilen Sie mir Ihre Kritik und Anregungen mit, oder schreiben Sie
mir, wenn Sie Fehler gefunden haben. Nat&uuml;rlich k&ouml;nnen Sie
auch schreiben, dass Ihnen das Buch gefallen hat! Verst&auml;ndnisfragen
zu einzelnen Aspekten der Java-Programmierung kann ich aus Zeitgr&uuml;nden
leider nicht mehr beantworten. Sie sind besser in einer der zahlreichen
Java-Newsgroups aufgehoben (siehe <a href="k100020.html#weitereinfos">Abschnitt 3.2.2</a>).

<p>
Wie die Vorversionen wurde auch die dritte Auflage vollst&auml;ndig
in SGML geschrieben (der &#187;Mutter&#171; von HTML und XML). Alle
Werkzeuge zum Erstellen der verschiedenen Ausgaben wurden vom Autor
selbst entwickelt und sind in Java geschrieben. Die ohne zus&auml;tzlichen
Aufwand erstellbare HTML-Ausgabe kann bei Fehlern oder Erweiterungen
sehr schnell aktualisiert und unabh&auml;ngig von den Nachdruckzyklen
der Papierversion gepflegt werden. Alle &Auml;nderungen werden versioniert,
der Erstdruck des Buchs entspricht der HTML-Ausgabe 3.0. 

<p>
Ich w&uuml;nsche allen Lesern, dass ihnen dieses Buch beim Erlernen
und Anwenden von Java ein unentbehrlicher Helfer sein wird und dass
sie nach seiner Lekt&uuml;re &uuml;ber umfassende Kenntnisse in der
Java-Programmierung verf&uuml;gen m&ouml;gen. 

<p>
Mein Dank gilt allen, die bei der Entstehung mitgewirkt haben. Besonders
m&ouml;chte ich Kollegen und Bekannten danken, die sich der M&uuml;he
unterzogen haben, einzelne Kapitel zu lesen, und mit ihren Hinweisen
und Anregungen zu seiner jetzigen Form beigetragen haben. Hier sind
vor allem Ilona Brinkmeier, Holger J&ouml;dicke, Boris Gruschko, Thomas
Backens, Goetz Perry, Stefan Stark, Andi M&uuml;ller, Jacques Nietsch
und Carsten Leutzinger zu nennen. Den vielen Lesern der Vorversionen,
die Fehler gefunden oder Anregungen gegeben haben, m&ouml;chte ich
ebenso danken wie Christiane Auf und Christina Gibbs, die das Buch
als Lektorinnen bei Addison-Wesley betreut haben. 

<p>
Wie immer geht ein besonderer Dank an Sabine, Jana und Jasmin, ohne
deren Unterst&uuml;tzung und Geduld auch dieses Buch nicht m&ouml;glich
gewesen w&auml;re. 

<p>
<b>Guido Kr&uuml;ger, Februar 2002</b> 
<hr>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;Titel&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
Wesley, Version 5.0.1
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="">&nbsp;&lt;&lt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100002.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100002.html">&nbsp;&gt;&gt;&nbsp;</a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
</table>
<a name="endofbody"></a>
</body>
</html>