Java von Kopf bis Fuß:
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Weitere Verfasser: | |
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Heidelberg
O'Reilly
2023
|
Ausgabe: | 2. Auflage, Übersetzung der 3. englischen Auflage |
Schriftenreihe: | Von Kopf bis Fuß
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Weitere Angaben auf dem Cover: "Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung". - "Aktualisierte Neuauflage des Bestsellers" |
Beschreibung: | xxxii, 717 Seiten Illustrationen, Diagramme 23.5 cm x 20.3 cm |
ISBN: | 9783960092063 3960092067 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV048677573 | ||
003 | DE-604 | ||
005 | 20230829 | ||
007 | t | ||
008 | 230126s2023 gw a||| |||| 00||| ger d | ||
015 | |a 22,N40 |2 dnb | ||
016 | 7 | |a 1269036866 |2 DE-101 | |
020 | |a 9783960092063 |c Broschur : EUR 49.90 (DE), EUR 51.30 (AT) |9 978-3-96009-206-3 | ||
020 | |a 3960092067 |9 3-96009-206-7 | ||
024 | 3 | |a 9783960092063 | |
035 | |a (OCoLC)1346650455 | ||
035 | |a (DE-599)DNB1269036866 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 1 | |a ger |h eng | |
044 | |a gw |c XA-DE-BW | ||
049 | |a DE-M347 |a DE-860 |a DE-B768 |a DE-523 |a DE-573 |a DE-1051 |a DE-1043 |a DE-859 |a DE-92 |a DE-1102 |a DE-1050 |a DE-703 |a DE-19 |a DE-11 | ||
082 | 0 | |a 005.133 |2 23/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Sierra, Kathy |d ca. 20./21. Jahrhundert |e Verfasser |0 (DE-588)119774696X |4 aut | |
240 | 1 | 0 | |a Head first Java |
245 | 1 | 0 | |a Java von Kopf bis Fuß |c Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang |
250 | |a 2. Auflage, Übersetzung der 3. englischen Auflage | ||
264 | 1 | |a Heidelberg |b O'Reilly |c 2023 | |
300 | |a xxxii, 717 Seiten |b Illustrationen, Diagramme |c 23.5 cm x 20.3 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Von Kopf bis Fuß | |
500 | |a Weitere Angaben auf dem Cover: "Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung". - "Aktualisierte Neuauflage des Bestsellers" | ||
650 | 0 | 7 | |a Java 2 Standard Edition 5.0 |0 (DE-588)4799436-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |2 gnd |9 rswk-swf |
653 | |a Java lernen | ||
653 | |a Programmieren lernen | ||
653 | |a Entwurfsmuster | ||
653 | |a objektorientierte Programmierung | ||
653 | |a Lambdas | ||
653 | |a objektorientiertes Design | ||
653 | |a Coding-Conventions | ||
653 | |a Collections | ||
653 | |a Programmierstil | ||
653 | |a Streams API | ||
653 | |a Generics | ||
653 | |a Threading | ||
653 | |a Networking | ||
653 | |a Java 17 | ||
689 | 0 | 0 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 0 | 1 | |a Java 2 Standard Edition 5.0 |0 (DE-588)4799436-8 |D s |
689 | 0 | 2 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 1 | 1 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 1 | |5 DE-604 | |
700 | 1 | |a Bates, Bert |d ca. 20./21. Jahrhundert |e Verfasser |0 (DE-588)1197747249 |4 aut | |
700 | 1 | |a Gee, Trisha |e Verfasser |0 (DE-588)1275407366 |4 aut | |
700 | 1 | |a Lang, Jørgen W. |0 (DE-588)129082112 |4 trl | |
775 | 0 | 8 | |i Parallele Sprachausgabe |z 978-1-49191-077-1 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, PDF |z 978-3-96010-748-4 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, EPUB |z 978-3-96010-749-1 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, MOBI |z 978-3-96010-750-7 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=90ce75523fd743a59e94319bbb2fc2a6&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034052002&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-034052002 | ||
883 | 1 | |8 1\p |a vlb |d 20220928 |q DE-101 |u https://d-nb.info/provenance/plan#vlb |
Datensatz im Suchindex
_version_ | 1804184847244066816 |
---|---|
adam_text | DER
INHALT
(IM
UEBERBLICK)
INHALTSVERZEICHNIS
EINFUEHRUNG
XIX
1
DIE
OBERFLAECHE
DURCHBRECHEN:
TAUCHEN
SIE
EIN:
EINE
KOSTPROBE
1
2
DIE
REISE
NACH
OBJECTVILLE:
KLASSEN
UND
OBJEKTE
27
3
VERSTEHEN
SIE
IHRE
VARIABLEN:
ELEMENTARE
DATENTYPEN
UND
REFERENZEN
49
4
WIE
SICH
OBJEKTE
VERHALTEN:
METHODEN
BENUTZEN
INSTANZVARIABLEN
71
5
METHODEN
MIT
SUPERKRAEFTEN:
EIN
PROGRAMM
SCHREIBEN
95
6
DIE
JAVA-BIBLIOTHEK
VERWENDEN:
DIE
JAUA-API
KENNENLERNEN
125
7
BESSER
LEBEN
IN
OBJECTVILLE:
VERERBUNG
UND
POLYMORPHIE
167
8
ERNSTHAFTE
POLYMORPHIE:
INTEFACES
UND
ABSTRAKTE
KLASSEN
199
9
LEBEN
UND
STERBEN
EINES
OBJEKTS:
KONSTRUKTOREN
UND
GARBAGE
COLLECTION
237
10
ZAHLEN,
BITTE!:
Z
AHL^N
UND
STATISCHES
275
11
DATENSTRUKTUREN:
COLLECTIONS
MIT
GENERICS
309
12
WAS
-
NICHT
WIE!:
LAMBDAS
UND
STREAMS
369
13
RISKANTES
VERHALTEN:
EXCEPTION-HANDLING
421
14
INNEN
HUI,
AUSSEN
GUI:
GRAFISCHE
BENUTZEROBERFLAECHEN
461
15
MEHR
SCHWUNG
MIT
SWING:
SWING
IM
EINSATZ
509
16
OBJEKTE
(UND
TEXT)
SPEICHERN:
SERIALISIERUNG
UND
DATEI-I/O
539
17
EINE
VERBINDUNG
HERSTELLEN:
NETZWERKPROGRAMMIERUNG
UND
THREADS
587
18
NEBENLAEUFIGKEITSPROBLEME
BEHANDELN:
KONKURRENZPROBLEME
UND
IMMUTABLE
DATEN
639
A
ANHANG
A:
DIE
FINALE
CODEKUECHE
673
B
ANHANG
B:
DIE
(MEHR
ALS)
ZEHN
WICHTIGSTEN
THEMEN,
DIE
ES
NICHT
INS
BUCH
GESCHAFFT
HABEN
...
683
INDEX
701
DER
INHALT
(JETZT
AUSFUEHRLICH)
I
TIN
FUER
WEN
IST
DIESES
BUCH?
XX
WIR
WISSEN,
WAS
SIE
DENKEN.
XXI
UND
WIR
WISSEN,
WAS
IHR
GEHIRN
GERADE
DENKT.
XXI
DAS
HABEN
WIR
GETAN
XXIV
WAS
SIE
FUER
DIESES
BUCH
BRAUCHEN
XXVI
DIE
FACHGUTACHTER
DER
DRITTEN
ENGLISCHEN
AUFLAGE
XXVIII
DIE
FACHGUTACHTER
DER
ZWEITEN
ENGLISCHEN
AUFLAGE
XXX
VII
DIE
OBERFLAECHE
DURCHBRECHEN
JAVA
BRINGT
SIE
AN
NEUE
ORTE.
WIE
JAVA
FUNKTIONIERT
2
WAS
SIE
IN
JAVA
TUN
WERDEN
3
EINE
SEHR
KURZE
GESCHICHTE
VON
JAVA
4
CODESTRUKTUR
IN
JAVA
7
EINE
KLASSE
MIT
EINER
MAINQ-METHODE
SCHREIBEN
9
EINFACHE
BOOLESCHE
TESTS
13
BEDINGTE
VERZWEIGUNGEN
15
EINE
ERNSTHAFTE
GESCHAEFTSANWENDUNG
SCHREIBEN
16
DER
PHRAS-O-MAT
19
UEBUNGEN
20
2
DIE
REISE
NACH
OBJECTVILLE
ICH
DACHTE,
HIER
GIBT
S
OBJEKTE.
STUHLKRIEGE
28
IHR
ERSTES
OBJEKT
ERSTELLEN
36
DIE
FILM-OBJEKTE
ERSTELLEN
UND
TESTEN
37
SCHNELL!
NICHTS
WIE
RAUS
AUS
MAINQ!
38
DAS
RATESPIEL
AUSFUHREN
40
UEBUNGEN
42
VIII
VERSTEHEN
SIE
IHRE
VARIABLEN
VARIABLEN
GIBT
ES
IN
ZWEI
GESCHMACKSRICHTUNGEN:
ELEMENTARE
TYPEN
UND
REFERENZTYPEN.
EINE
VARIABLE
DEKLARIEREN
50
EINEN
DOPPELTEN
ESPRESSO
BITTE,
ACH
NEIN,
DOCH
LIEBER
EINEN
INT.
51
FINGER
WEG
VON
SCHLUESSELWOERTERN!
53
EIN
DOG-OBJEKT
KONTROLLIEREN
54
EINE
OBJEKTREFERENZ
IST
EINFACH
EIN
ANDERER
VARIABIENWERT.
55
DAS
LEBEN
AUF
DEM
GARBAGE
COLLECTIBLE
HEAP
57
EIN
ARRAY
IST
WIE
EIN
SCHRANK
VOLLER
TASSEN
...
AEHM
BECHER
59
EIN
DOG-BEISPIEL
62
UEBUNGEN
63
WIE
SICH
OBJEKTE
VERHALTEN
ZUSTAND
BEEINFLUSST
VERHALTEN,
VERHALTEN
BEEINFLUSST
ZUSTAENDE.
ERINNERN
SIE
SICH:
EINE
KLASSE
BESCHREIBT,
WAS
EIN
OBJEKT
WEISS
UND
WAS
ES
TUT.
72
DIE
GROESSE
BEEINFLUSST
DAS
BELLEN
73
SIE
KOENNEN
EINER
METHODE
INFORMATIONEN
SCHICKEN
74
SIE
KOENNEN
VON
METHODEN
ETWAS
ZURUECKBEKOMMEN
75
SIE
KOENNEN
EINER
METHODE
MEHR
ALS
EINE
SACHE
UEBERGEBEN
76
PARAMETER
UND
RUECKGABETYPEN
79
KAPSELUNG
80
WIE
VERHALTEN
SICH
OBJEKTE
IN
EINEM
ARRAY?
83
INSTANZVARIABLEN
DEKLARIEREN
UND
INITIALISIEREN
84
VARIABLEN
VERGLEICHEN
(ELEMENTARE
UND
REFERENZTYPEN)
86
UEBUNGEN
88
IX
METHODEN
MIT
SUPERKRAEFTEN
JETZT
WOLLEN
WIR
UNSERE
METHODEN
MAL
ETWAS
AUFMOEBELN.
EIN
SPIEL
IM
SCHIFFE-VERSENKEN-STYLE:
STARTUPS
VERSENKEN
96
EINE
KLASSE
ENTWICKELN
99
DIE
METHODENIMPLEMENTIERUNGEN
SCHREIBEN
DEN
TESTCODE
FUER
DIE
SIMPLESTARTUP-KLASSE
SCHREIBEN
DIE
CHECKYOURSELF-METHODE
VORCODE
FUER
DIE
SIMPLESTARTUPGAME-KLASSE
DIE
MAINQ-METHODE
DES
SPIELS
DANN
SPIELEN
WIR
MAL
...
MEHR
UEBER
FOR-SCHLEIFEN
101
102
104
108
HO
113
114
DIE
VERBESSERTE
FOR-SCHLEIFE
116
ELEMENTARE
TYPEN
CASTEN
UEBUNGEN
117
118
6
DIE
JAVA-BIBLIOTHEK
VERWENDEN
JAVA
WIRD
MIT
HUNDERTEN
VORGEFERTIGTER
KLASSEN
AUSGELIEFERT
DAS
VORIGE
KAPITEL
ENDETE
MIT
EINEM
CLIFFHANGER
-
NAEMLICH
EINEM
BUG.
126
WACHEN
SIE
ENDLICH
AUF
UND
SEHEN
SIE
DER
JAVA-API
INS
AUGE
132
EINIGE
DINGE,
DIE
SIE
MIT
ARRAYLIST
TUN
KOENNEN
133
ARRAYLIST
MIT
EINEM
REGULAEREN
ARRAY
VERGLEICHEN
137
BAUEN
WIR
DAS
RICHTIGE
SPIEL:
STARTUPS
VERSENKEN
140
VORCODE
FUER
DIE
ECHTE
STARTUPBUST-KLASSE
144
DIE
FINALE
VERSION
DER
STARTUP-KLASSE
150
BOOLESCHE
AUSDRUECKE
MIT
SUPERKRAEFTEN
151
DIE
BIBLIOTHEK
JAVA-API)
VERWENDEN
154
UEBUNGEN
163
X
BESSER
LEBEN
IN
OBJECTVILLE
PLANEN
SIE
IHRE
PROGRAMME
MIT
DER
ZUKUNFT
IM
BLICK.
STUHLKRIEGE
NEU
AUFGELEGT
...
168
VERERBUNG
VERSTEHEN
170
ENTWERFEN
WIR
EINEN
VERERBUNGSBAUM
FUER
EIN
TIERSIMULATIONSPROGRAMM
172
WEITERE
VERERBUNGSMOEGLICHKEITEN
FINDEN
175
IST
EIN
UND
HAT
EIN
VERWENDEN
179
WOHER
WISSEN
SIE,
DASS
IHRE
VERERBUNGSHIERARCHIE
KORREKT
IST?
181
VERERBUNG
KANN
MAN
GUT
GEBRAUCHEN,
MAN
KANN
SIE
ABER
AUCH
MISSBRAUCHEN!
183
DEN
VERTRAG
EINHALTEN:
REGELN
FUER
DAS
UEBERSCHREIBEN
192
EINE
METHODE
UEBERLADEN
193
UEBUNGEN
194
8
ERNSTHAFTE
POLYMORPHIE
VERERBUNG
IST
NUR
DER
ANFANG.
HABEN
WIR
ETWAS
VERGESSEN,
ALS
WIR
DAS
HIER
ENTWORFEN
HABEN?
200
DER
COMPILER
VERHINDERT
DIE
INSTANZIIERUNG
VON
ABSTRAKTEN
KLASSEN
203
ABSTRAKT
VS.
KONKRET
204
ABSTRAKTE
METHODEN
MUESSEN
IMPLEMENTIERT
WERDEN
206
POLYMORPHIE
IN
AKTION
208
WAS
IST
MIT
NICHT-ANIMALS?
WARUM
MACHEN
WIR
DIE
KLASSE
NICHT
SO
ALLGEMEIN,
DASS
SIE
MIT
ALLEM
UMGEHEN
KANN?
210
WENN
EIN
DOG
SICH
NICHT
WIE
EIN
DOG
VERHAELT
214
ERFORSCHEN
WIR
EIN
PAAR
ENTWURFSOPTIONEN
221
DAS
PET-INTERFACE
ERSTELLEN
UND
IMPLEMENTIEREN
227
DIE
SUPERKLASSENVERSION
EINER
METHODE
AUFRUFEN
230
UEBUNGEN
232
XI
LEBEN
UND
STERBEN
EINES
OBJEKTS
OBJEKTE
WERDEN
GEBOREN
UND
OBJEKTE
STERBEN.
DER
STACK
UND
DER
HEAP:
WO
DAS
LEBEN
SPIELT
METHODEN
WERDEN
GESTAPELT
WAS
IST
MIT
LOKALEN
VARIABLEN,
DIE
OBJEKTE
SIND?
DAS
WUNDER
DER
OBJEKTERSTELLUNG
EIN
DUCK-OBJEKT
KONSTRUIEREN
ERSTELLT
DER
COMPILER
NICHT
IMMER
EINEN
ARGUMENTLOSEN
KONSTRUKTOR
FUER
SIE?
KURZER
RUECKBLICK.
VIER
DINGE,
DIE
SIE
SICH
ZU
KONSTRUKTOREN
MERKEN
SOLLTEN!
238
239
240
242
244
248
251
DIE
ROLLE
DER
SUPERKLASSENKONSTRUKTOREN
IM
LEBEN
EINES
OBJEKTS
KANN
EIN
KIND
VOR
SEINEN
ELTERN
EXISTIEREN?
WAS
IST
MIT
REFERENZVARIABLEN?
253
256
262
MIR
GEFAELLT
NICHT,
WORAUF
DAS
HINAUSLAEUFT.
UEBUNGEN
263
268
10
ZAHLEN,
BITTE!
MATH-METHODEN:
NAEHER
WERDEN
SIE
EINER
GLOBALEN
METHODE
NIE
WIEDER
KOMMEN
DER
UNTERSCHIED
ZWISCHEN
REGULAEREN
(NICHT
STATISCHEN)
UND
STATISCHEN
METHODEN
276
277
EINE
STATISCHE
VARIABLE
INITIALISIEREN
283
MATH-METHODEN
288
ELEMENTARTYPEN
VERPACKEN
AUTOBOXING
FUNKTIONIERT
FAST
UEBERALL
UND
UMGEKEHRT
...
EINE
ELEMENTARE
ZAHL
IN
EINEN
STRING
VERWANDELN
ZAHLENFORMATIERUNG
DER
FORMAT-SPEZIFIZIERER
UEBUNGEN
290
292
295
296
300
306
XII
DATENSTRUKTUREN
SORTIEREN
IST
IN
JAVA
EIN
KLACKS.
DIE
JAVA.UTIL-API,
LIST
UND
COLLECTIONS
ENTDECKEN
314
GENERIES
SORGEN
FUER
MEHR
TYPSICHERHEIT
320
ERNEUT
EIN
BLICK
AUF
DIE
SORT()-METHODE
327
DIE
NEUE,
VERBESSERTE
SONG-KLASSE
330
MIT
COMPARATORS
SORTIEREN
336
DIE
JUKEBOX
MIT
LAMBDAS
AKTUALISIEREN
342
EIN
HASHSET
ANSTELLE
EINER
ARRAYLIST
VERWENDEN
347
WAS
SIE
UEBER
TREESET
WISSEN
MUESSEN
...
353
NACHDEM
WIR
LISTS
UND
SETS
GESEHEN
HABEN,
VERWENDEN
WIR
JETZT
EINE
MAP
355
ENDLICH
WIEDER
ZURUECK
ZU
GENERIES
358
LOESUNG
ZUR
UEBUNG
364
YY
(YY
LAMBDAS
UND
STREAMS:
WAS
-
NICHT
WIE!
I
)
WAS
WAERE,
WENN
...
SIE
DEM
COMPUTER
NICHT
MITTEILEN
MUESSTEN,
YY
AAD
WIE
ER
ETWAS
TUN
SOLL?
SAGEN
SIE
DEM
COMPUTER,
WAS
SIE
WOLLEN
370
WENN
FOR-SCHLEIFEN
SCHIEFLAUFEN
372
EINFUEHRUNG
IN
DIE
STREAMS-API
375
ERGEBNISSE
VON
EINEM
STREAM
ERHALTEN
378
RICHTLINIEN
FUER
DIE
ARBEIT
MIT
STREAMS
384
HALLO
LAMBDA,
MEIN
(NICHT
GANZ
SO)
ALTER
FREUND
388
ERKENNEN
SIE
FUNKTIONALE
INTERFACES
396
LOUS
HERAUSFORDERUNG
NR.
1:
FINDE
ALLE
ROCK-SONGS
400
LOUS
HERAUSFORDERUNG
NR.
2:
ALLE
GENRES
AUFLISTEN
404
UEBUNGEN
415
XIII
YY
C)
RISKANTES
VERHALTEN
I
9
DINGE
PASSIEREN.
BAUEN
WIR
EINE
MUSIKMASCHINE
422
ZUERST
BRAUCHEN
WIR
EINEN
SEQUENCER
424
EINE
EXCEPTION
IST
EIN
OBJEKT
...
DES
TYPS
EXCEPTION
428
FLUSSKONTROLLE
IN
TRY/CATCH-BLOECKEN
432
EINE
METHODE
KANN
MEHR
ALS
EINE
EXCEPTION
WERFEN
435
MEHRFACHE
CATCH-BLOECKE
MUESSEN
VON
KLEIN
NACH
GROSS
GEORDNET
WERDEN
438
AUSWEICHEN
(DURCH
DEKLARATION)
VERZOEGERT
NUR
DAS
UNAUSWEICHLICHE
442
CODEKUECHE
445
VERSION
1:
IHRE
ALLERERSTE
SOUNDPLAYER-APP
448
VERSION
2:
KOMMANDOZEILENARGUMENTE
FUER
DAS
EXPERIMENTIEREN
MIT
SOUNDS
452
UEBUNGEN
454
YY
A
INNEN
HUI,
AUSSEN
GUI
I
-
SEHEN
SIE
DEN
TATSACHEN
INS
AUGE:
FRUEHER
ODER
SPAETER
YY
-L
WERDEN
SIE
GUIS
ERSTELLEN
MUESSEN.
ALLES
BEGINNT
MIT
EINEM
FENSTER
WIE
MAN
AN
EIN
BENUTZER-EVENT
KOMMT
462
465
LISTENER,
QUELLEN
UND
EVENTS
MACHEN
SIE
SICH
IHR
EIGENES
GRAFIK-WIDGET
SPASS
MIT
PAINTCOMPONENTQ
GUI-LAYOUTS:
MEHRERE
WIDGETS
IN
EINEN
FRAME
PACKEN
DIE
RETTUNG:
INNERE
KLASSEN!
RETTUNG
DURCH
LAMBDAS!
INNERE
KLASSEN
FUER
ANIMATIONEN
EINSETZEN
469
472
473
478
484
490
492
EINE
EINFACHERE
MOEGLICHKEIT,
MESSAGES
UND
EVENTS
ZU
ERSTELLEN
UEBUNGEN
498
502
XIV
YY
I
MEHR
SCHWUNG
MIT
SWING
I
,
V
SWING
IST
EINFACH.
SWING-KOMPONENTEN
LAYOUTMANAGER
DIE
DREI
WICHTIGSTEN
LAYOUTMANAGER:
BORDER,
FLOW
UND
BOX
ES
GIBT
KEINE
DUMMEN
FRAGEN
SPIELEN
MIT
SWING-KOMPONENTEN
CODEKUECHE
510
511
513
522
523
526
DIE
BEATBOX
UEBUNGEN
529
534
A
Y
OBJEKTE
(UND
TEXT)
SPEICHERN
I
FY
OBJEKTE
LASSEN
SICH
FLACH
DRUECKEN
UND
WIEDER
AUFBLASEN.
EIN
SERIALISIERTES
OBJEKT
IN
EINE
DATEI
SCHREIBEN
SOLL
EINE
KLASSE
SERIALISIERBAR
SEIN,
IMPLEMENTIEREN
SIE
DESERIALISIERUNG:
EIN
OBJEKT
WIEDERHERSTELLEN
VERSION-ID:
EIN
GROSSES
SERIALISIERUNGSPROBLEM
EINEN
STRING
IN
EIN
TEXTDATEI
SCHREIBEN
AUS
EINER
TEXTDATEI
LESEN
542
547
551
556
559
566
QUIZ
CARD
PLAYER
(CODE
GROB
SKIZZIERT)
PATH,
PATHS
UND
FILES
(MIT
VERZEICHNISSEN
SPIELEN)
ENDLICH,
EIN
GENAUER
BLICK
AUF
FINALLY
EIN
BEATBOX-PATTERN
SPEICHERN
UEBUNGEN
567
573
574
579
580
XV
APP
EINE
VERBINDUNG
HERSTELLEN
I
/
VERBINDUNG
ZUR
AUSSENWELT
AUFNEHMEN.
VERBINDEN,
SENDEN,
EMPFANGEN
DER
DAILYADVICECLIENT
(TIPP
DES
TAGES)
EIN
EINFACHES
SERVERPROGRAMM
SCHREIBEN
JAVA
HAT
MEHRERE
THREADS,
ABER
NUR
EINE
THREAD-KLASSE
DIE
DREI
ZUSTAENDE
EINES
NEUEN
THREADS
590
598
601
610
616
EINEN
THREAD
SCHLAFEN
SCHICKEN
622
ZWEI
(ODER
MEHR!)
THREADS
ERZEUGEN
UND
STARTEN
FEIERABEND
AM
THREAD-POOL
626
629
DER
NEUE
UND
VERBESSERTE
SIMPLECHATCLIENT
UEBUNGEN
632
634
YY
(
NEBENLAEUFIGKEITSPROBLEME
BEHANDELN
I
(0
ES
IST
SCHWER,
MEHRERE
DINGE
GLEICHZEITIG
ZU
TUN.
DAS
RYAN-UND-MONICA-PROBLEM,
IN
CODE
AUSGEDRUECKT
642
DAS
SCHLOSS
EINES
OBJEKTS
VERWENDEN
647
DAS
GEFUERCHTETE
PROBLEM
DER
VERLORENEN
AKTUALISIERUNG
650
DIE
INCREMENTQ-METHODE
ATOMAR
MACHEN.
SYNCHRONISIEREN
SIE
SIE!
652
BLOCKADE,
EINE
TOEDLICHE
SEITE
DER
SYNCHRONISIERUNG
654
VERGLEICHEN
UND
TAUSCHEN
MIT
ATOMAREN
VARIABLEN
656
IMMUTABLE
OBJEKTE
VERWENDEN
659
MEHR
PROBLEME
MIT
GETEILTEN
DATEN
662
VERWENDEN
SIE
EINE
THREADSICHERE
DATENSTRUKTUR
664
UEBUNGEN
668
XVI
ANHANG
A
DIE
FINALE
CODEKUECHE.
DAS
ENDGUELTIGE
BEATBOX-CLIENTPROGRAMM
674
DAS
ENDGUELTIGE
BEATBOX-SERVERPROGRAMM
681
ANHANG
B
DIE
(MEHR
ALS)
ZEHN
WICHTIGSTEN
THEMEN,
DIE
ES
NICHT
INS
BUCH
GESCHAFFT
HABEN
...
NOCH
KOENNEN
WIR
SIE
NICHT
GANZ
GEHEN
LASSEN.
EIN
PAAR
SACHEN
HABEN
WIR
NOCH,
ABER
DANN
SIND
SIE
FERTIG.
DIESMAL
MEINEN
WIR
ES
ERNST.
#
11
JSHELL
JAVA
REPL)
#
10
PACKAGES
#
9
IMMUTABILITAET
IN
STRINGS
UND
WRAPPERN
#
8
ZUGRIFFSEBENEN
UND
ZUGRIFFSMODIFIER
(WER
SIEHT
WAS)
#
7
VARARGS
#
6
ANNOTATIONEN
684
685
688
689
691
692
#5
LAMBDAS
UND
MAPS
#4
PARALLELE
STREAMS
693
695
#3
ENUMERATIONS
(ENUMERIERTE
TYPEN/ENUMS)
#2
LOKALE
TYPINFERENZ
FUER
VARIABLEN
(VAR)
#1
RECORDS
696
698
699
1
INDEX
701
XVII
|
adam_txt |
DER
INHALT
(IM
UEBERBLICK)
INHALTSVERZEICHNIS
EINFUEHRUNG
XIX
1
DIE
OBERFLAECHE
DURCHBRECHEN:
TAUCHEN
SIE
EIN:
EINE
KOSTPROBE
1
2
DIE
REISE
NACH
OBJECTVILLE:
KLASSEN
UND
OBJEKTE
27
3
VERSTEHEN
SIE
IHRE
VARIABLEN:
ELEMENTARE
DATENTYPEN
UND
REFERENZEN
49
4
WIE
SICH
OBJEKTE
VERHALTEN:
METHODEN
BENUTZEN
INSTANZVARIABLEN
71
5
METHODEN
MIT
SUPERKRAEFTEN:
EIN
PROGRAMM
SCHREIBEN
95
6
DIE
JAVA-BIBLIOTHEK
VERWENDEN:
DIE
JAUA-API
KENNENLERNEN
125
7
BESSER
LEBEN
IN
OBJECTVILLE:
VERERBUNG
UND
POLYMORPHIE
167
8
ERNSTHAFTE
POLYMORPHIE:
INTEFACES
UND
ABSTRAKTE
KLASSEN
199
9
LEBEN
UND
STERBEN
EINES
OBJEKTS:
KONSTRUKTOREN
UND
GARBAGE
COLLECTION
237
10
ZAHLEN,
BITTE!:
Z
AHL^N
UND
STATISCHES
275
11
DATENSTRUKTUREN:
COLLECTIONS
MIT
GENERICS
309
12
WAS
-
NICHT
WIE!:
LAMBDAS
UND
STREAMS
369
13
RISKANTES
VERHALTEN:
EXCEPTION-HANDLING
421
14
INNEN
HUI,
AUSSEN
GUI:
GRAFISCHE
BENUTZEROBERFLAECHEN
461
15
MEHR
SCHWUNG
MIT
SWING:
SWING
IM
EINSATZ
509
16
OBJEKTE
(UND
TEXT)
SPEICHERN:
SERIALISIERUNG
UND
DATEI-I/O
539
17
EINE
VERBINDUNG
HERSTELLEN:
NETZWERKPROGRAMMIERUNG
UND
THREADS
587
18
NEBENLAEUFIGKEITSPROBLEME
BEHANDELN:
KONKURRENZPROBLEME
UND
IMMUTABLE
DATEN
639
A
ANHANG
A:
DIE
FINALE
CODEKUECHE
673
B
ANHANG
B:
DIE
(MEHR
ALS)
ZEHN
WICHTIGSTEN
THEMEN,
DIE
ES
NICHT
INS
BUCH
GESCHAFFT
HABEN
.
683
INDEX
701
DER
INHALT
(JETZT
AUSFUEHRLICH)
I
TIN
FUER
WEN
IST
DIESES
BUCH?
XX
WIR
WISSEN,
WAS
SIE
DENKEN.
XXI
UND
WIR
WISSEN,
WAS
IHR
GEHIRN
GERADE
DENKT.
XXI
DAS
HABEN
WIR
GETAN
XXIV
WAS
SIE
FUER
DIESES
BUCH
BRAUCHEN
XXVI
DIE
FACHGUTACHTER
DER
DRITTEN
ENGLISCHEN
AUFLAGE
XXVIII
DIE
FACHGUTACHTER
DER
ZWEITEN
ENGLISCHEN
AUFLAGE
XXX
VII
DIE
OBERFLAECHE
DURCHBRECHEN
JAVA
BRINGT
SIE
AN
NEUE
ORTE.
WIE
JAVA
FUNKTIONIERT
2
WAS
SIE
IN
JAVA
TUN
WERDEN
3
EINE
SEHR
KURZE
GESCHICHTE
VON
JAVA
4
CODESTRUKTUR
IN
JAVA
7
EINE
KLASSE
MIT
EINER
MAINQ-METHODE
SCHREIBEN
9
EINFACHE
BOOLESCHE
TESTS
13
BEDINGTE
VERZWEIGUNGEN
15
EINE
ERNSTHAFTE
GESCHAEFTSANWENDUNG
SCHREIBEN
16
DER
PHRAS-O-MAT
19
UEBUNGEN
20
2
DIE
REISE
NACH
OBJECTVILLE
ICH
DACHTE,
HIER
GIBT
'
S
OBJEKTE.
STUHLKRIEGE
28
IHR
ERSTES
OBJEKT
ERSTELLEN
36
DIE
FILM-OBJEKTE
ERSTELLEN
UND
TESTEN
37
SCHNELL!
NICHTS
WIE
RAUS
AUS
MAINQ!
38
DAS
RATESPIEL
AUSFUHREN
40
UEBUNGEN
42
VIII
VERSTEHEN
SIE
IHRE
VARIABLEN
VARIABLEN
GIBT
ES
IN
ZWEI
GESCHMACKSRICHTUNGEN:
ELEMENTARE
TYPEN
UND
REFERENZTYPEN.
EINE
VARIABLE
DEKLARIEREN
50
EINEN
DOPPELTEN
ESPRESSO
BITTE,
ACH
NEIN,
DOCH
LIEBER
EINEN
INT.
51
FINGER
WEG
VON
SCHLUESSELWOERTERN!
53
EIN
DOG-OBJEKT
KONTROLLIEREN
54
EINE
OBJEKTREFERENZ
IST
EINFACH
EIN
ANDERER
VARIABIENWERT.
55
DAS
LEBEN
AUF
DEM
GARBAGE
COLLECTIBLE
HEAP
57
EIN
ARRAY
IST
WIE
EIN
SCHRANK
VOLLER
TASSEN
.
AEHM
BECHER
59
EIN
DOG-BEISPIEL
62
UEBUNGEN
63
WIE
SICH
OBJEKTE
VERHALTEN
ZUSTAND
BEEINFLUSST
VERHALTEN,
VERHALTEN
BEEINFLUSST
ZUSTAENDE.
ERINNERN
SIE
SICH:
EINE
KLASSE
BESCHREIBT,
WAS
EIN
OBJEKT
WEISS
UND
WAS
ES
TUT.
72
DIE
GROESSE
BEEINFLUSST
DAS
BELLEN
73
SIE
KOENNEN
EINER
METHODE
INFORMATIONEN
SCHICKEN
74
SIE
KOENNEN
VON
METHODEN
ETWAS
ZURUECKBEKOMMEN
75
SIE
KOENNEN
EINER
METHODE
MEHR
ALS
EINE
SACHE
UEBERGEBEN
76
PARAMETER
UND
RUECKGABETYPEN
79
KAPSELUNG
80
WIE
VERHALTEN
SICH
OBJEKTE
IN
EINEM
ARRAY?
83
INSTANZVARIABLEN
DEKLARIEREN
UND
INITIALISIEREN
84
VARIABLEN
VERGLEICHEN
(ELEMENTARE
UND
REFERENZTYPEN)
86
UEBUNGEN
88
IX
METHODEN
MIT
SUPERKRAEFTEN
JETZT
WOLLEN
WIR
UNSERE
METHODEN
MAL
ETWAS
AUFMOEBELN.
EIN
SPIEL
IM
SCHIFFE-VERSENKEN-STYLE:
STARTUPS
VERSENKEN
96
EINE
KLASSE
ENTWICKELN
99
DIE
METHODENIMPLEMENTIERUNGEN
SCHREIBEN
DEN
TESTCODE
FUER
DIE
SIMPLESTARTUP-KLASSE
SCHREIBEN
DIE
CHECKYOURSELF-METHODE
VORCODE
FUER
DIE
SIMPLESTARTUPGAME-KLASSE
DIE
MAINQ-METHODE
DES
SPIELS
DANN
SPIELEN
WIR
MAL
.
MEHR
UEBER
FOR-SCHLEIFEN
101
102
104
108
HO
113
114
DIE
VERBESSERTE
FOR-SCHLEIFE
116
ELEMENTARE
TYPEN
CASTEN
UEBUNGEN
117
118
6
DIE
JAVA-BIBLIOTHEK
VERWENDEN
JAVA
WIRD
MIT
HUNDERTEN
VORGEFERTIGTER
KLASSEN
AUSGELIEFERT
DAS
VORIGE
KAPITEL
ENDETE
MIT
EINEM
CLIFFHANGER
-
NAEMLICH
EINEM
BUG.
126
WACHEN
SIE
ENDLICH
AUF
UND
SEHEN
SIE
DER
JAVA-API
INS
AUGE
132
EINIGE
DINGE,
DIE
SIE
MIT
ARRAYLIST
TUN
KOENNEN
133
ARRAYLIST
MIT
EINEM
REGULAEREN
ARRAY
VERGLEICHEN
137
BAUEN
WIR
DAS
RICHTIGE
SPIEL:
STARTUPS
VERSENKEN
140
VORCODE
FUER
DIE
ECHTE
STARTUPBUST-KLASSE
144
DIE
FINALE
VERSION
DER
STARTUP-KLASSE
150
BOOLESCHE
AUSDRUECKE
MIT
SUPERKRAEFTEN
151
DIE
BIBLIOTHEK
JAVA-API)
VERWENDEN
154
UEBUNGEN
163
X
BESSER
LEBEN
IN
OBJECTVILLE
PLANEN
SIE
IHRE
PROGRAMME
MIT
DER
ZUKUNFT
IM
BLICK.
STUHLKRIEGE
NEU
AUFGELEGT
.
168
VERERBUNG
VERSTEHEN
170
ENTWERFEN
WIR
EINEN
VERERBUNGSBAUM
FUER
EIN
TIERSIMULATIONSPROGRAMM
172
WEITERE
VERERBUNGSMOEGLICHKEITEN
FINDEN
175
IST
EIN
UND
HAT
EIN
VERWENDEN
179
WOHER
WISSEN
SIE,
DASS
IHRE
VERERBUNGSHIERARCHIE
KORREKT
IST?
181
VERERBUNG
KANN
MAN
GUT
GEBRAUCHEN,
MAN
KANN
SIE
ABER
AUCH
MISSBRAUCHEN!
183
DEN
VERTRAG
EINHALTEN:
REGELN
FUER
DAS
UEBERSCHREIBEN
192
EINE
METHODE
UEBERLADEN
193
UEBUNGEN
194
8
ERNSTHAFTE
POLYMORPHIE
VERERBUNG
IST
NUR
DER
ANFANG.
HABEN
WIR
ETWAS
VERGESSEN,
ALS
WIR
DAS
HIER
ENTWORFEN
HABEN?
200
DER
COMPILER
VERHINDERT
DIE
INSTANZIIERUNG
VON
ABSTRAKTEN
KLASSEN
203
ABSTRAKT
VS.
KONKRET
204
ABSTRAKTE
METHODEN
MUESSEN
IMPLEMENTIERT
WERDEN
206
POLYMORPHIE
IN
AKTION
208
WAS
IST
MIT
NICHT-ANIMALS?
WARUM
MACHEN
WIR
DIE
KLASSE
NICHT
SO
ALLGEMEIN,
DASS
SIE
MIT
ALLEM
UMGEHEN
KANN?
210
WENN
EIN
DOG
SICH
NICHT
WIE
EIN
DOG
VERHAELT
214
ERFORSCHEN
WIR
EIN
PAAR
ENTWURFSOPTIONEN
221
DAS
PET-INTERFACE
ERSTELLEN
UND
IMPLEMENTIEREN
227
DIE
SUPERKLASSENVERSION
EINER
METHODE
AUFRUFEN
230
UEBUNGEN
232
XI
LEBEN
UND
STERBEN
EINES
OBJEKTS
OBJEKTE
WERDEN
GEBOREN
UND
OBJEKTE
STERBEN.
DER
STACK
UND
DER
HEAP:
WO
DAS
LEBEN
SPIELT
METHODEN
WERDEN
GESTAPELT
WAS
IST
MIT
LOKALEN
VARIABLEN,
DIE
OBJEKTE
SIND?
DAS
WUNDER
DER
OBJEKTERSTELLUNG
EIN
DUCK-OBJEKT
KONSTRUIEREN
ERSTELLT
DER
COMPILER
NICHT
IMMER
EINEN
ARGUMENTLOSEN
KONSTRUKTOR
FUER
SIE?
KURZER
RUECKBLICK.
VIER
DINGE,
DIE
SIE
SICH
ZU
KONSTRUKTOREN
MERKEN
SOLLTEN!
238
239
240
242
244
248
251
DIE
ROLLE
DER
SUPERKLASSENKONSTRUKTOREN
IM
LEBEN
EINES
OBJEKTS
KANN
EIN
KIND
VOR
SEINEN
ELTERN
EXISTIEREN?
WAS
IST
MIT
REFERENZVARIABLEN?
253
256
262
MIR
GEFAELLT
NICHT,
WORAUF
DAS
HINAUSLAEUFT.
UEBUNGEN
263
268
10
ZAHLEN,
BITTE!
MATH-METHODEN:
NAEHER
WERDEN
SIE
EINER
GLOBALEN
METHODE
NIE
WIEDER
KOMMEN
DER
UNTERSCHIED
ZWISCHEN
REGULAEREN
(NICHT
STATISCHEN)
UND
STATISCHEN
METHODEN
276
277
EINE
STATISCHE
VARIABLE
INITIALISIEREN
283
MATH-METHODEN
288
ELEMENTARTYPEN
VERPACKEN
AUTOBOXING
FUNKTIONIERT
FAST
UEBERALL
UND
UMGEKEHRT
.
EINE
ELEMENTARE
ZAHL
IN
EINEN
STRING
VERWANDELN
ZAHLENFORMATIERUNG
DER
FORMAT-SPEZIFIZIERER
UEBUNGEN
290
292
295
296
300
306
XII
DATENSTRUKTUREN
SORTIEREN
IST
IN
JAVA
EIN
KLACKS.
DIE
JAVA.UTIL-API,
LIST
UND
COLLECTIONS
ENTDECKEN
314
GENERIES
SORGEN
FUER
MEHR
TYPSICHERHEIT
320
ERNEUT
EIN
BLICK
AUF
DIE
SORT()-METHODE
327
DIE
NEUE,
VERBESSERTE
SONG-KLASSE
330
MIT
COMPARATORS
SORTIEREN
336
DIE
JUKEBOX
MIT
LAMBDAS
AKTUALISIEREN
342
EIN
HASHSET
ANSTELLE
EINER
ARRAYLIST
VERWENDEN
347
WAS
SIE
UEBER
TREESET
WISSEN
MUESSEN
.
353
NACHDEM
WIR
LISTS
UND
SETS
GESEHEN
HABEN,
VERWENDEN
WIR
JETZT
EINE
MAP
355
ENDLICH
WIEDER
ZURUECK
ZU
GENERIES
358
LOESUNG
ZUR
UEBUNG
364
YY
(YY
LAMBDAS
UND
STREAMS:
WAS
-
NICHT
WIE!
I
)
WAS
WAERE,
WENN
.
SIE
DEM
COMPUTER
NICHT
MITTEILEN
MUESSTEN,
YY
AAD
WIE
ER
ETWAS
TUN
SOLL?
SAGEN
SIE
DEM
COMPUTER,
WAS
SIE
WOLLEN
370
WENN
FOR-SCHLEIFEN
SCHIEFLAUFEN
372
EINFUEHRUNG
IN
DIE
STREAMS-API
375
ERGEBNISSE
VON
EINEM
STREAM
ERHALTEN
378
RICHTLINIEN
FUER
DIE
ARBEIT
MIT
STREAMS
384
HALLO
LAMBDA,
MEIN
(NICHT
GANZ
SO)
ALTER
FREUND
388
ERKENNEN
SIE
FUNKTIONALE
INTERFACES
396
LOUS
HERAUSFORDERUNG
NR.
1:
FINDE
ALLE
ROCK-SONGS
400
LOUS
HERAUSFORDERUNG
NR.
2:
ALLE
GENRES
AUFLISTEN
404
UEBUNGEN
415
XIII
YY
C)
RISKANTES
VERHALTEN
I
9
DINGE
PASSIEREN.
BAUEN
WIR
EINE
MUSIKMASCHINE
422
ZUERST
BRAUCHEN
WIR
EINEN
SEQUENCER
424
EINE
EXCEPTION
IST
EIN
OBJEKT
.
DES
TYPS
EXCEPTION
428
FLUSSKONTROLLE
IN
TRY/CATCH-BLOECKEN
432
EINE
METHODE
KANN
MEHR
ALS
EINE
EXCEPTION
WERFEN
435
MEHRFACHE
CATCH-BLOECKE
MUESSEN
VON
KLEIN
NACH
GROSS
GEORDNET
WERDEN
438
AUSWEICHEN
(DURCH
DEKLARATION)
VERZOEGERT
NUR
DAS
UNAUSWEICHLICHE
442
CODEKUECHE
445
VERSION
1:
IHRE
ALLERERSTE
SOUNDPLAYER-APP
448
VERSION
2:
KOMMANDOZEILENARGUMENTE
FUER
DAS
EXPERIMENTIEREN
MIT
SOUNDS
452
UEBUNGEN
454
YY
A
INNEN
HUI,
AUSSEN
GUI
I
-
SEHEN
SIE
DEN
TATSACHEN
INS
AUGE:
FRUEHER
ODER
SPAETER
YY
-L
WERDEN
SIE
GUIS
ERSTELLEN
MUESSEN.
ALLES
BEGINNT
MIT
EINEM
FENSTER
WIE
MAN
AN
EIN
BENUTZER-EVENT
KOMMT
462
465
LISTENER,
QUELLEN
UND
EVENTS
MACHEN
SIE
SICH
IHR
EIGENES
GRAFIK-WIDGET
SPASS
MIT
PAINTCOMPONENTQ
GUI-LAYOUTS:
MEHRERE
WIDGETS
IN
EINEN
FRAME
PACKEN
DIE
RETTUNG:
INNERE
KLASSEN!
RETTUNG
DURCH
LAMBDAS!
INNERE
KLASSEN
FUER
ANIMATIONEN
EINSETZEN
469
472
473
478
484
490
492
EINE
EINFACHERE
MOEGLICHKEIT,
MESSAGES
UND
EVENTS
ZU
ERSTELLEN
UEBUNGEN
498
502
XIV
YY
I
MEHR
SCHWUNG
MIT
SWING
I
,
V
SWING
IST
EINFACH.
SWING-KOMPONENTEN
LAYOUTMANAGER
DIE
DREI
WICHTIGSTEN
LAYOUTMANAGER:
BORDER,
FLOW
UND
BOX
ES
GIBT
KEINE
DUMMEN
FRAGEN
SPIELEN
MIT
SWING-KOMPONENTEN
CODEKUECHE
510
511
513
522
523
526
DIE
BEATBOX
UEBUNGEN
529
534
A
Y
OBJEKTE
(UND
TEXT)
SPEICHERN
I
FY
OBJEKTE
LASSEN
SICH
FLACH
DRUECKEN
UND
WIEDER
AUFBLASEN.
EIN
SERIALISIERTES
OBJEKT
IN
EINE
DATEI
SCHREIBEN
SOLL
EINE
KLASSE
SERIALISIERBAR
SEIN,
IMPLEMENTIEREN
SIE
DESERIALISIERUNG:
EIN
OBJEKT
WIEDERHERSTELLEN
VERSION-ID:
EIN
GROSSES
SERIALISIERUNGSPROBLEM
EINEN
STRING
IN
EIN
TEXTDATEI
SCHREIBEN
AUS
EINER
TEXTDATEI
LESEN
542
547
551
556
559
566
QUIZ
CARD
PLAYER
(CODE
GROB
SKIZZIERT)
PATH,
PATHS
UND
FILES
(MIT
VERZEICHNISSEN
SPIELEN)
ENDLICH,
EIN
GENAUER
BLICK
AUF
FINALLY
EIN
BEATBOX-PATTERN
SPEICHERN
UEBUNGEN
567
573
574
579
580
XV
APP
EINE
VERBINDUNG
HERSTELLEN
I
/
VERBINDUNG
ZUR
AUSSENWELT
AUFNEHMEN.
VERBINDEN,
SENDEN,
EMPFANGEN
DER
DAILYADVICECLIENT
(TIPP
DES
TAGES)
EIN
EINFACHES
SERVERPROGRAMM
SCHREIBEN
JAVA
HAT
MEHRERE
THREADS,
ABER
NUR
EINE
THREAD-KLASSE
DIE
DREI
ZUSTAENDE
EINES
NEUEN
THREADS
590
598
601
610
616
EINEN
THREAD
SCHLAFEN
SCHICKEN
622
ZWEI
(ODER
MEHR!)
THREADS
ERZEUGEN
UND
STARTEN
FEIERABEND
AM
THREAD-POOL
626
629
DER
NEUE
UND
VERBESSERTE
SIMPLECHATCLIENT
UEBUNGEN
632
634
YY
(
NEBENLAEUFIGKEITSPROBLEME
BEHANDELN
I
(0
ES
IST
SCHWER,
MEHRERE
DINGE
GLEICHZEITIG
ZU
TUN.
DAS
RYAN-UND-MONICA-PROBLEM,
IN
CODE
AUSGEDRUECKT
642
DAS
SCHLOSS
EINES
OBJEKTS
VERWENDEN
647
DAS
GEFUERCHTETE
PROBLEM
DER
VERLORENEN
AKTUALISIERUNG
650
DIE
INCREMENTQ-METHODE
ATOMAR
MACHEN.
SYNCHRONISIEREN
SIE
SIE!
652
BLOCKADE,
EINE
TOEDLICHE
SEITE
DER
SYNCHRONISIERUNG
654
VERGLEICHEN
UND
TAUSCHEN
MIT
ATOMAREN
VARIABLEN
656
IMMUTABLE
OBJEKTE
VERWENDEN
659
MEHR
PROBLEME
MIT
GETEILTEN
DATEN
662
VERWENDEN
SIE
EINE
THREADSICHERE
DATENSTRUKTUR
664
UEBUNGEN
668
XVI
ANHANG
A
DIE
FINALE
CODEKUECHE.
DAS
ENDGUELTIGE
BEATBOX-CLIENTPROGRAMM
674
DAS
ENDGUELTIGE
BEATBOX-SERVERPROGRAMM
681
ANHANG
B
DIE
(MEHR
ALS)
ZEHN
WICHTIGSTEN
THEMEN,
DIE
ES
NICHT
INS
BUCH
GESCHAFFT
HABEN
.
NOCH
KOENNEN
WIR
SIE
NICHT
GANZ
GEHEN
LASSEN.
EIN
PAAR
SACHEN
HABEN
WIR
NOCH,
ABER
DANN
SIND
SIE
FERTIG.
DIESMAL
MEINEN
WIR
ES
ERNST.
#
11
JSHELL
JAVA
REPL)
#
10
PACKAGES
#
9
IMMUTABILITAET
IN
STRINGS
UND
WRAPPERN
#
8
ZUGRIFFSEBENEN
UND
ZUGRIFFSMODIFIER
(WER
SIEHT
WAS)
#
7
VARARGS
#
6
ANNOTATIONEN
684
685
688
689
691
692
#5
LAMBDAS
UND
MAPS
#4
PARALLELE
STREAMS
693
695
#3
ENUMERATIONS
(ENUMERIERTE
TYPEN/ENUMS)
#2
LOKALE
TYPINFERENZ
FUER
VARIABLEN
(VAR)
#1
RECORDS
696
698
699
1
INDEX
701
XVII |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Sierra, Kathy ca. 20./21. Jahrhundert Bates, Bert ca. 20./21. Jahrhundert Gee, Trisha |
author2 | Lang, Jørgen W. |
author2_role | trl |
author2_variant | j w l jw jwl |
author_GND | (DE-588)119774696X (DE-588)1197747249 (DE-588)1275407366 (DE-588)129082112 |
author_facet | Sierra, Kathy ca. 20./21. Jahrhundert Bates, Bert ca. 20./21. Jahrhundert Gee, Trisha Lang, Jørgen W. |
author_role | aut aut aut |
author_sort | Sierra, Kathy ca. 20./21. Jahrhundert |
author_variant | k s ks b b bb t g tg |
building | Verbundindex |
bvnumber | BV048677573 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)1346650455 (DE-599)DNB1269036866 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. Auflage, Übersetzung der 3. englischen Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03607nam a22008058c 4500</leader><controlfield tag="001">BV048677573</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20230829 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">230126s2023 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">22,N40</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1269036866</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783960092063</subfield><subfield code="c">Broschur : EUR 49.90 (DE), EUR 51.30 (AT)</subfield><subfield code="9">978-3-96009-206-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3960092067</subfield><subfield code="9">3-96009-206-7</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783960092063</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1346650455</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1269036866</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sierra, Kathy</subfield><subfield code="d">ca. 20./21. Jahrhundert</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)119774696X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Head first Java</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Java von Kopf bis Fuß</subfield><subfield code="c">Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. Auflage, Übersetzung der 3. englischen Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2023</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxii, 717 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">23.5 cm x 20.3 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Von Kopf bis Fuß</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Weitere Angaben auf dem Cover: "Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung". - "Aktualisierte Neuauflage des Bestsellers"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java 2 Standard Edition 5.0</subfield><subfield code="0">(DE-588)4799436-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Java lernen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmieren lernen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Entwurfsmuster</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">objektorientierte Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Lambdas</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">objektorientiertes Design</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Coding-Conventions</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Collections</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierstil</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Streams API</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Generics</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Threading</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Networking</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Java 17</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Java 2 Standard Edition 5.0</subfield><subfield code="0">(DE-588)4799436-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Bates, Bert</subfield><subfield code="d">ca. 20./21. Jahrhundert</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1197747249</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Gee, Trisha</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1275407366</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Lang, Jørgen W.</subfield><subfield code="0">(DE-588)129082112</subfield><subfield code="4">trl</subfield></datafield><datafield tag="775" ind1="0" ind2="8"><subfield code="i">Parallele Sprachausgabe</subfield><subfield code="z">978-1-49191-077-1</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, PDF</subfield><subfield code="z">978-3-96010-748-4</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, EPUB</subfield><subfield code="z">978-3-96010-749-1</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, MOBI</subfield><subfield code="z">978-3-96010-750-7</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=90ce75523fd743a59e94319bbb2fc2a6&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034052002&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034052002</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20220928</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield></record></collection> |
id | DE-604.BV048677573 |
illustrated | Illustrated |
index_date | 2024-07-03T21:24:25Z |
indexdate | 2024-07-10T09:45:50Z |
institution | BVB |
isbn | 9783960092063 3960092067 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034052002 |
oclc_num | 1346650455 |
open_access_boolean | |
owner | DE-M347 DE-860 DE-B768 DE-523 DE-573 DE-1051 DE-1043 DE-859 DE-92 DE-1102 DE-1050 DE-703 DE-19 DE-BY-UBM DE-11 |
owner_facet | DE-M347 DE-860 DE-B768 DE-523 DE-573 DE-1051 DE-1043 DE-859 DE-92 DE-1102 DE-1050 DE-703 DE-19 DE-BY-UBM DE-11 |
physical | xxxii, 717 Seiten Illustrationen, Diagramme 23.5 cm x 20.3 cm |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | O'Reilly |
record_format | marc |
series2 | Von Kopf bis Fuß |
spelling | Sierra, Kathy ca. 20./21. Jahrhundert Verfasser (DE-588)119774696X aut Head first Java Java von Kopf bis Fuß Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang 2. Auflage, Übersetzung der 3. englischen Auflage Heidelberg O'Reilly 2023 xxxii, 717 Seiten Illustrationen, Diagramme 23.5 cm x 20.3 cm txt rdacontent n rdamedia nc rdacarrier Von Kopf bis Fuß Weitere Angaben auf dem Cover: "Eine abwechslungsreiche Entdeckungsreise durch die objektorientierte Programmierung". - "Aktualisierte Neuauflage des Bestsellers" Java 2 Standard Edition 5.0 (DE-588)4799436-8 gnd rswk-swf Objektorientierte Programmierung (DE-588)4233947-9 gnd rswk-swf Java Programmiersprache (DE-588)4401313-9 gnd rswk-swf Java lernen Programmieren lernen Entwurfsmuster objektorientierte Programmierung Lambdas objektorientiertes Design Coding-Conventions Collections Programmierstil Streams API Generics Threading Networking Java 17 Java Programmiersprache (DE-588)4401313-9 s Java 2 Standard Edition 5.0 (DE-588)4799436-8 s Objektorientierte Programmierung (DE-588)4233947-9 s DE-604 Bates, Bert ca. 20./21. Jahrhundert Verfasser (DE-588)1197747249 aut Gee, Trisha Verfasser (DE-588)1275407366 aut Lang, Jørgen W. (DE-588)129082112 trl Parallele Sprachausgabe 978-1-49191-077-1 Erscheint auch als Online-Ausgabe, PDF 978-3-96010-748-4 Erscheint auch als Online-Ausgabe, EPUB 978-3-96010-749-1 Erscheint auch als Online-Ausgabe, MOBI 978-3-96010-750-7 X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=90ce75523fd743a59e94319bbb2fc2a6&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034052002&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20220928 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Sierra, Kathy ca. 20./21. Jahrhundert Bates, Bert ca. 20./21. Jahrhundert Gee, Trisha Java von Kopf bis Fuß Java 2 Standard Edition 5.0 (DE-588)4799436-8 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
subject_GND | (DE-588)4799436-8 (DE-588)4233947-9 (DE-588)4401313-9 |
title | Java von Kopf bis Fuß |
title_alt | Head first Java |
title_auth | Java von Kopf bis Fuß |
title_exact_search | Java von Kopf bis Fuß |
title_exact_search_txtP | Java von Kopf bis Fuß |
title_full | Java von Kopf bis Fuß Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang |
title_fullStr | Java von Kopf bis Fuß Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang |
title_full_unstemmed | Java von Kopf bis Fuß Kathy Sierra, Bert Bates, Trisha Gee ; Deutsche Übersetzung von Jørgen W. Lang |
title_short | Java von Kopf bis Fuß |
title_sort | java von kopf bis fuß |
topic | Java 2 Standard Edition 5.0 (DE-588)4799436-8 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
topic_facet | Java 2 Standard Edition 5.0 Objektorientierte Programmierung Java Programmiersprache |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=90ce75523fd743a59e94319bbb2fc2a6&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034052002&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT sierrakathy headfirstjava AT batesbert headfirstjava AT geetrisha headfirstjava AT langjørgenw headfirstjava AT sierrakathy javavonkopfbisfuß AT batesbert javavonkopfbisfuß AT geetrisha javavonkopfbisfuß AT langjørgenw javavonkopfbisfuß |