Der Weg zum Java-Profi - Konzepte und Techniken für die professionelle Java-Entwicklung
von: Michael Inden
dpunkt, 2012
ISBN: 9783864911736
Sprache: Deutsch
1293 Seiten, Download: 22075 KB
Format: EPUB, PDF, auch als Online-Lesen
Mehr zum Inhalt
Der Weg zum Java-Profi - Konzepte und Techniken für die professionelle Java-Entwicklung
Unknown | 1 | ||
Inhaltsverzeichnis | 5 | ||
Vorwort zur 2. Auflage | 17 | ||
1 Einleitung | 19 | ||
1.1 Über dieses Buch | 19 | ||
1.2 Aufbau des Buchs | 22 | ||
1.3 Konventionen | 30 | ||
1.4 Danksagungen | 32 | ||
Teil I Java-Grundlagen, Analyse und Design | 35 | ||
2 Professionelle Arbeitsumgebung | 37 | ||
2.1 Vorteile von IDEs am Beispiel von Eclipse | 37 | ||
2.2 Projektorganisation | 38 | ||
2.3 Einsatz von Versionsverwaltungen | 40 | ||
2.4 Einsatz eines Unit-Test-Frameworks | 48 | ||
2.5 Debugging | 54 | ||
2.6 Einsatz eines IDE-unabhängigen Build-Prozesses | 64 | ||
2.7 Weiterführende Literatur | 74 | ||
3 Objektorientiertes Design | 75 | ||
3.1 OO-Grundlagen | 76 | ||
3.2 Grundlegende OO-Techniken | 107 | ||
3.3 Vom imperativen zum objektorientierten Entwurf | 112 | ||
3.4 Fortgeschrittenere OO-Techniken | 117 | ||
3.5 Formen der Varianz | 146 | ||
3.6 Generische Typen (Generics) | 152 | ||
3.7 Weiterführende Literatur | 176 | ||
4 Java-Grundlagen | 177 | ||
4.1 Die Klasse Object | 177 | ||
4.2 Primitive Datentypen und Wrapper-Klassen | 195 | ||
4.3 Stringverarbeitung | 205 | ||
4.4 Datumsverarbeitung | 221 | ||
4.5 Interfaces und innere Klassen | 228 | ||
4.6 Ein- und Ausgabe (I/O) | 237 | ||
4.7 Fehlerbehandlung | 263 | ||
4.8 Weiterführende Literatur | 274 | ||
Teil II Bausteine stabiler Java-Applikationen | 275 | ||
5 Das Collections-Framework | 277 | ||
5.1 Datenstrukturen | 277 | ||
5.2 Suchen, Sortieren und Filtern | 327 | ||
5.3 Utility-Klassen und Hilfsmethoden | 342 | ||
5.4 Probleme im Collections-Framework | 356 | ||
5.5 Weiterführende Literatur | 361 | ||
6 Applikationsbausteine | 363 | ||
6.1 Einsatz von Bibliotheken am Beispiel | 363 | ||
6.2 Wertebereichs- und Parameterprüfungen | 368 | ||
6.3 Logging-Frameworks | 380 | ||
6.4 Utility-Klassen zur Dateibehandlung | 396 | ||
6.5 Konfigurationsparameter und -dateien | 405 | ||
7 Multithreading | 429 | ||
7.1 Threads und Runnables | 431 | ||
7.2 Zusammenarbeit von Threads | 441 | ||
7.3 Kommunikation von Threads | 453 | ||
7.4 Das Java-Memory-Modell | 471 | ||
7.5 Besonderheiten bei Threads | 478 | ||
7.6 Die Concurrency Utilities | 488 | ||
7.7 Weiterführende Literatur | 509 | ||
8 Fortgeschrittene Java-Themen | 511 | ||
8.1 Crashkurs Reflection | 511 | ||
8.2 Annotations | 524 | ||
8.3 Serialisierung | 532 | ||
8.4 Objektkopien und das Interface Cloneable | 548 | ||
8.5 Internationalisierung | 560 | ||
8.6 Programmbausteine zur Internationalisierung | 585 | ||
8.7 Garbage Collection | 600 | ||
8.8 Weiterführende Literatur | 612 | ||
9 Programmierung grafischer Benutzeroberflächen | 613 | ||
9.1 Grundlagen zu grafischen Oberflächen | 614 | ||
9.2 Multithreading und Swing | 651 | ||
9.3 Zeichnen in GUI-Komponenten | 661 | ||
9.4 Komplexe Bedienelemente | 694 | ||
9.5 Weiterführende Literatur | 752 | ||
10 Einführung in Persistenz und Datenbanken | 755 | ||
10.1 Grundlagen zur Persistenz | 756 | ||
10.2 Datenbankzugriffe per JDBC | 796 | ||
10.3 Grundlagen zum ORM mit JDBC | 833 | ||
10.4 Datenbanken und JPA | 840 | ||
10.5 Weiterführende Literatur | 858 | ||
11 Neuerungen in JDK 7 | 859 | ||
11.1 Erweiterungen der Sprache selbst | 859 | ||
11.2 Erweiterungen des NIO in JDK 7 | 867 | ||
11.3 Multithreading | 874 | ||
11.4 Neuerungen in AWT und Swing | 877 | ||
11.5 Collections | 879 | ||
11.6 Der Garbage Collector »G1« | 880 | ||
Teil III Fallstricke und Lösungen im Praxisalltag | 881 | ||
12 Bad Smells | 883 | ||
12.1 Programmdesign | 885 | ||
12.2 Klassendesign | 906 | ||
12.3 Fehlerbehandlung und Exception Handling | 919 | ||
12.4 Häufige Fallstricke | 940 | ||
12.5 Weiterführende Literatur | 948 | ||
13 Refactorings | 949 | ||
13.1 Das Standardvorgehen | 957 | ||
13.2 Der Refactoring-Katalog | 960 | ||
13.3 Weiterführende Literatur | 994 | ||
14 Entwurfsmuster | 995 | ||
14.1 Erzeugungsmuster | 998 | ||
14.2 Strukturmuster | 1015 | ||
14.3 Verhaltensmuster | 1028 | ||
14.4 Weiterführende Literatur | 1066 | ||
Teil IV Qualitätssicherungsmaßnahmen | 1069 | ||
15 Programmierstil und Coding Conventions | 1071 | ||
15.1 Grundregeln eines guten Programmierstils | 1071 | ||
15.2 Die Psychologie beim Sourcecode-Layout | 1073 | ||
15.3 Coding Conventions | 1076 | ||
15.4 Sourcecode-Überprüfung mit Tools | 1096 | ||
16 Unit Tests | 1109 | ||
16.1 Überblick | 1109 | ||
16.2 Motivation für Unit Tests aus der Praxis | 1115 | ||
16.3 Fortgeschrittene Unit-Test-Techniken | 1133 | ||
16.4 Unit Tests mit Threads und Timing | 1139 | ||
16.5 Nützliche Tools für Unit Tests | 1144 | ||
16.6 Weiterführende Literatur | 1155 | ||
17 Codereviews | 1157 | ||
17.1 Definition | 1157 | ||
17.2 Probleme und Tipps zur Durchführung | 1159 | ||
17.3 Vorteile von Codereviews | 1161 | ||
17.4 Codereview-Tools | 1164 | ||
17.5 Codereview-Checkliste | 1166 | ||
18 Optimierungen | 1167 | ||
18.1 Grundlagen | 1168 | ||
18.2 Einsatz geeigneter Datenstrukturen | 1186 | ||
18.3 Lazy Initialization | 1194 | ||
18.4 Optimierungen am Beispiel | 1202 | ||
18.5 I/O-bound-Optimierungen | 1210 | ||
18.6 Memory-bound-Optimierungen | 1217 | ||
18.7 CPU-bound-Optimierungen | 1230 | ||
18.8 Weiterführende Literatur | 1234 | ||
Anhang | 1235 | ||
A Einführung in die UML | 1237 | ||
A.1 Die UML im Überblick | 1237 | ||
A.2 Strukturdiagramme – statische Modelle | 1241 | ||
A.3 Verhaltensdiagramme – dynamische Modelle | 1247 | ||
A.4 Weiterführende Literatur | 1256 | ||
B Überblick über den Softwareentwicklungsprozess | 1257 | ||
B.1 Vorgehensmodelle | 1257 | ||
C Grundlagen zur Java Virtual Machine | 1265 | ||
C.1 Wissenswertes rund um die Java Virtual Machine | 1265 | ||
Literaturverzeichnis | 1269 | ||
Index | 1273 |