Fortgeschrittene Programmierung mit Java 5 - Generics, Annotations, Concurrency und Reflection – mit allen wesentlichen Neuerungen des J2SE 5.0
von: Johannes Nowak
dpunkt, 2005
ISBN: 9783898649438
Sprache: Deutsch
281 Seiten, Download: 1344 KB
Format: PDF, auch als Online-Lesen
Mehr zum Inhalt
Fortgeschrittene Programmierung mit Java 5 - Generics, Annotations, Concurrency und Reflection – mit allen wesentlichen Neuerungen des J2SE 5.0
Vorwort | 6 | ||
Inhaltsverzeichnis | 10 | ||
1 Einleitung | 16 | ||
2 »Syntaktischer Zucker« | 20 | ||
2.1 Autoboxing und Unboxing | 20 | ||
2.2 Eine neue for-Schleife | 23 | ||
2.3 Enums | 26 | ||
2.4 Statische Importe | 30 | ||
2.5 Varargs | 31 | ||
3 Generics - eine Einführung | 36 | ||
3.1 Probleme mit Bier- und Weinflaschen | 36 | ||
3.2 Ein generischer Flaschentyp | 39 | ||
3.3 Vergleichbarkeit von Flaschen | 48 | ||
3.4 Umfüllen von Flaschen | 51 | ||
4 Generics – systematisch betrachtet | 54 | ||
4.1 Typ-Variablen und parametrisierte Typen | 55 | ||
4.2 Typ-Variablen mit Einschränkungen | 58 | ||
4.3 Generische Klassen und Vererbung | 62 | ||
4.4 Implementierung generischer Interfaces | 63 | ||
4.5 Bridges | 64 | ||
4.6 Wildcard-Typen | 67 | ||
4.7 extends-Einschränkungen von Wildcards | 69 | ||
4.8 super-Einschränkungen von Wildcards | 71 | ||
4.9 Generische Array-Typen | 72 | ||
4.10 Instanceof, new und static | 75 | ||
4.11 Innere Klassen | 79 | ||
4.12 Generische Methoden | 80 | ||
5 Generics und Reflection | 90 | ||
5.1 Class ist generisch | 90 | ||
5.2 Die Methode newInstance | 91 | ||
5.3 Die neuen Type-Interfaces | 92 | ||
5.4 Ein ClassViewer | 94 | ||
5.5 Das Interface TypeVariable | 95 | ||
5.6 Das Interface ParameterizedType | 98 | ||
5.7 Das Interface WildcardType | 101 | ||
5.8 Das Interface GenericArrayType | 103 | ||
5.9 Ermittlung der Typ-Variablen | 105 | ||
5.10 Field-Eigenschaften | 105 | ||
5.11 Method-Eigenschaften | 106 | ||
5.12 Constructor-Eigenschaften | 108 | ||
5.13 newInstance, invoke, get und set | 109 | ||
5.14 Reflection und Enums | 109 | ||
6 Generics – Anwendungen | 110 | ||
6.1 Polygon | 110 | ||
6.2 SimpleVector | 112 | ||
6.3 SimpleLinkedList | 116 | ||
6.4 SimpleHashtable | 117 | ||
6.5 TreeSet und Comparator | 121 | ||
6.6 Supplier und Consumer | 124 | ||
6.7 Interne Iteratoren | 126 | ||
6.8 Elements | 130 | ||
6.9 Accessors (Zugriffsobjekte) | 138 | ||
6.10 Eine Event-gesteuerte Statusmaschine | 165 | ||
7 Annotations | 180 | ||
7.1 Definition und Benutzung | 180 | ||
7.2 Zugriff auf Annotations | 186 | ||
8 Annotations – Anwendungen | 190 | ||
8.1 Object-Relational Mapping | 190 | ||
8.2 Dynamic Proxies | 195 | ||
9 Das concurrent-Paket | 204 | ||
9.1 Locks | 205 | ||
9.2 Queues | 222 | ||
9.3 Thread-Pooling | 234 | ||
9.4 Scheduling | 243 | ||
9.5 Semaphore | 253 | ||
9.6 Weitere Synchronisations-Mittel | 261 | ||
10 Generics in Java, C++ und C# | 266 | ||
10.1 Vergleich zu C++ | 266 | ||
10.2 Vergleich mit C# | 271 | ||
Literaturverzeichnis | 276 | ||
Index | 278 |