Marktplatzangebote
3 Angebote ab € 9,99 €
  • Buch

Diese 8. Auflage des Java-Kultbuches wurde gründlich überarbeitet und aktualisiert. Besonders Einsteiger mit Programmierkenntnissen und Industrieprogrammierer profitieren von diesem umfassenden Werk. Tipps und Tricks aus den Java-FAQs werden regelmäßig mit in die Insel aufgenommen, um wirklich das abzudecken, was Sie im Alltag brauchen. Die Einführung in die Sprache Java ist anschaulich und immer praxisorientiert. Schnell geht es weiter mit fortgeschrittenen Themen wie Threads, Swing, Netzwerkprogrammierung, NetBeans, RMI, XML und Java, Servlets und Java Server Pages, JDBC und vielem…mehr

Produktbeschreibung
Diese 8. Auflage des Java-Kultbuches wurde gründlich überarbeitet und aktualisiert. Besonders Einsteiger mit Programmierkenntnissen und Industrieprogrammierer profitieren von diesem umfassenden Werk. Tipps und Tricks aus den Java-FAQs werden regelmäßig mit in die Insel aufgenommen, um wirklich das abzudecken, was Sie im Alltag brauchen. Die Einführung in die Sprache Java ist anschaulich und immer praxisorientiert. Schnell geht es weiter mit fortgeschrittenen Themen wie Threads, Swing, Netzwerkprogrammierung, NetBeans, RMI, XML und Java, Servlets und Java Server Pages, JDBC und vielem mehr.

Inhaltsverzeichnis:

Vorwort 39
Vorwort zur 8. Auflage 52
Vorwort zur 7. Auflage 53

1 Java ist auch eine Sprache 55
1.1 Der erste Kontakt 55
1.2 Historischer Hintergrund 55
1.3 Eigenschaften von Java 57
1.4 Die Rolle von Java im Web 66
1.5 Java-Plattformen: Java SE, Java EE und Java ME 66
1.6 Installation von Suns Java Platform Standard Edition (Java SE) 68
1.7 Das erste Programm compilieren und testen 71
1.8 Entwicklungsumgebungen im Allgemeinen 75
1.9 Eclipse im Speziellen 77
1.10 Zum Weiterlesen 84

2 Sprachbeschreibung 87
2.1 Elemente der Programmiersprache Java 87
2.2 Anweisungen formen Programme 95
2.3 Datentypen, Typisierung, Variablen und Zuweisungen 102
2.4 Blöcke, Initialisierung und Sichtbarkeit 113
2.5 Ausdrücke, Operanden und Operatoren 115
2.6 Bedingte Anweisungen oder Fallunterscheidungen 133
2.7 Schleifen 140
2.8 Methoden einer Klasse 152
2.9 Weitere Operatoren 169
2.10 Einfache Benutzereingaben 178
2.11 Zum Weiterlesen 179

3 Klassen und Objekte 181
3.1 Objektorientierte Programmierung 181
3.2 Eigenschaften einer Klasse 183
3.3 Die UML (Unified Modeling Language) 184
3.4 Neue Objekte erzeugen 187
3.5 Pakete und import-Deklarationen nutzen 193
3.6 Mit Referenzen arbeiten 195
3.7 Identität und Gleichheit 197
3.8 Wrapper-Klassen und Autoboxing 201
3.9 Compilationseinheiten und eigene Pakete schnüren 211
3.10 Arrays 215
3.11 Der Einstiegspunkt für das Laufzeitsystem: main() 235
3.12 Zum Weiterlesen 236

4 Der Umgang mit Zeichenketten 237
4.1 Einzelne Zeichen mit der Character-Klasse behandeln 237
4.2 Strings und deren Anwendung 238
4.3 Konvertieren zwischen Primitiven und Strings 256
4.4 Veränderbare Zeichenketten mit StringBuilder/StringBuffer 259
4.5 Sprachabhängiges Vergleichen und Normalisierung 264
4.6 Reguläre Ausdrücke 269
4.7 Zerlegen von Zeichenketten 276
4.8 Zeichenkodierungen und Base64 288
4.9 Formatieren von Ausgaben 291
4.10 Zum Weiterlesen 297

5 Mathematisches 299
5.1 Repräsentation ganzer Zahlen -- das Zweierkomplement 299
5.2 Fließkommaarithmetik in Java 300
5.3 Wertebereich eines Typs und Überlaufkontrolle 303
5.4 Die Eigenschaften der Klasse Math 305
5.5 Mathe bitte strikt 313
5.6 Die Random-Klasse 314
5.7 Große Zahlen 316
5.8 Zum Weiterlesen 325

6 Eigene Klassen schreiben 327
6.1 Eigene Klassen mit Eigenschaften deklarieren 327
6.2 Privatsphäre und Sichtbarkeit 335
6.3 Statische Methoden und statische Attribute 344
6.4 Konstanten und Aufzählungen 349
6.5 Objekte anlegen und zerstören 355
6.6 Klassen- und Objektinitialisierung 366
6.7 Assoziationen zwischen Objekten 373
6.8 Vererbung 377
6.9 Typen in Hierarchien 385
6.10 Methoden überschreiben 390
6.11 Dynamisches Binden/Polymorphie 398
6.12 Abstrakte Klassen und abstrakte Methoden 404
6.13 Schnittstellen 409
6.14 Dokumentationskommentare mit JavaDoc 420

7 Angewandte Objektorientierung 429
7.1 Schnittstellen in der Anwendung 429
7.2 Design-Pattern (Entwurfsmuster) 435
7.3 Service-Factory 443
7.4 JavaBean 445

8 Exceptions 455
8.1 Problembereiche einzäunen 455
8.2 Die Klassenhierarchie der Fehler 466
8.3 Auslösen eigener Exceptions 471
8.4 Rückgabewerte bei ausgelösten Ausnahmen 476
8.5 Der Stack-Trace 476
8.6 Assertions 478

9 Generics, innere Klassen 481
9.1 Generische Datentypen 481
9.2 Geschachtelte (innere) Klassen, Schnittstellen, Aufzählungen 490

10 Die Klassenbibliothek 501
10.1 Die Java-Klassenphilosophie 501
10.2 Object ist die Mutter aller Klassen 508
10.3 Die Spezial-Oberklasse Enum 522
10.4 Klassenlader (Class Loader) 528
10.5 Die Utility-Klasse System und Properties 535
10.6 Ausführen externer Programme und Skripte 540
10.7 Benutzereinstellungen 547
10.8 Musik abspielen 552
10.9 Annotationen 554
10.10 Zum Weiterlesen 556

11 Threads und nebenläufige Programmierung 557
11.1 Nebenläufigkeit 557
11.2 Threads erzeugen 561
11.3 Die Zustände eines Threads 566
11.4 Der Ausführer (Executor) kommt 580
11.5 Synchronisation über kritische Abschnitte 586
11.6 Synchronisation über Warten und Benachrichtigen 605
11.7 Atomare Operationen und frische Werte mit volatile 619
11.8 Mit dem Thread verbundene Variablen 621
11.9 Gruppen von Threads in einer Thread-Gruppe 625
11.10 Zeitgesteuerte Abläufe 632
11.11 Einen Abbruch der virtuellen Maschine erkennen 635
11.12 Zum Weiterlesen 636

12 Datenstrukturen und Algorithmen 637
12.1 Datenstrukturen und die Collection-API 637
12.2 Mit einem Iterator durch die Daten wandern 647
12.3 Listen 651
12.4 Vergleichen von Objekten 666
12.5 Mengen (Sets) 674
12.6 Stack (Kellerspeicher, Stapel) 680
12.7 Queues (Schlangen) und Deques 682
12.8 Assoziative Speicher 684
12.9 Die Properties-Klasse 697
12.10 Algorithmen in Collections 701
12.11 Synchronisation der Datenstrukturen 707
12.12 Die Klasse BitSet für Bitmengen 709

13 Raum und Zeit 713
13.1 Weltzeit 713
13.2 Wichtige Datum-Klassen im Überblick 714
13.3 Sprachen der Länder 714
13.4 Internationalisierung und Lokalisierung 718
13.5 Die Klasse Date 722
13.6 Calendar und GregorianCalendar 724
13.7 Formatieren und Parsen von Datumsangaben 735
13.8 Zum Weiterlesen 742

14 Dateien und Datenströme 743
14.1 Datei und Verzeichnis 744
14.2 Dateien mit wahlfreiem Zugriff 761
14.3 Stream-Klassen und Reader/Writer am Beispiel von Dateien 766
14.4 Basisklassen für die Ein-/Ausgabe 773
14.5 Formatierte Textausgaben 785
14.6 Schreiben und Lesen aus Strings und Byte-Feldern 792
14.7 Datenströme filtern und verketten 797
14.8 Vermittler zwischen Byte-Streams und Unicode-Strömen 809
14.9 Kommunikation zwischen Threads mit Pipes 812
14.10 Datenkompression 815
14.11 Prüfsummen 827
14.12 Persistente Objekte und Serialisierung 830
14.13 Tokenizer 849
14.14 Zum Weiterlesen 853

15 Die eXtensible Markup Language (XML) 855
15.1 Auszeichnungssprachen 855
15.2 Eigenschaften von XML-Dokumenten 856
15.3 Die Java-APIs für XML 865
15.4 Serielle Verarbeitung mit StAX 868
15.5 Serielle Verarbeitung von XML mit SAX 876
15.6 XML-Dateien mit JDOM verarbeiten 881
15.7 Transformationen mit XSLT 899
15.8 Java Architecture for XML Binding (JAXB) 902
15.9 HTML-Dokumente einlesen 910
15.10 Zum Weiterlesen 912

16 Grafische Oberflächen mit Swing 913
16.1 Das Abstract Window Toolkit und Swing 913
16.2 Fenster unter grafischen Oberflächen 918
16.3 Beschriftungen (JLabel) 924
16.4 Icon und ImageIcon für Bilder auf Swing-Komponenten 928
16.5 Es tut sich was -- Ereignisse beim AWT 930
16.6 Schaltflächen 940
16.7 Swing Action 947
16.8 JComponent und Component als Basis aller Komponenten 948
16.9 Container 960
16.10 Alles Auslegungssache: die Layoutmanager 964
16.11 Rollbalken und Schieberegler 978
16.12 Kontrollfelder, Optionsfelder, Kontrollfeldgruppen 984
16.13 Fortschritte bei Operationen überwachen 989
16.14 Menüs und Symbolleisten 991
16.15 Das Model-View-Controller-Konzept 1005
16.16 Auswahlmenüs, Listen und Spinner 1007
16.17 Texteingabefelder 1017
16.18 Tabellen (JTable) 1027
16.19 Bäume (JTree) 1041
16.20 JRootPane und JDesktopPane 1045
16.21 Dialoge und Window-Objekte 1048
16.22 Flexibles Java-Look-and-Feel 1054
16.23 Die Zwischenablage (Clipboard) 1056
16.24 Undo durchführen 1061
16.25 AWT, Swing und die Threads 1063
16.26 Barrierefreiheit mit der Java Accessibility API 1069
16.27 Zeitliches Ausführen mit dem javax.swing.Timer 1070
16.28 Alternativen zu AWT und Swing 1071
16.29 Zum Weiterlesen 1073

17 Grafikprogrammierung 1075
17.1 Grundlegendes zum Zeichnen 1075
17.2 Einfache Zeichenmethoden 1081
17.3 Zeichenketten schreiben und Fonts 1085
17.4 Geometrische Objekte 1094
17.5 Das Innere und Äußere einer Form 1102
17.6 Bilder 1116
17.7 Weitere Eigenschaften von Graphics 1134
17.8 Drucken 1140
17.9 Zum Weiterlesen 1144

18 Netzwerkprogrammierung 1145
18.1 Grundlegende Begriffe 1145
18.2 URI und URL 1146
18.3 Die Klasse URLConnection 1153
18.4 Mit GET und POST Daten übergeben 1160
18.5 Host- und IP-Adressen 1163
18.6 NetworkInterface 1167
18.7 Mit dem Socket zum Server 1168
18.8 Client-Server-Kommunikation 1173
18.9 Apache Jakarta Commons HttpClient und Net 1179
18.10 Arbeitsweise eines Webservers 1181
18.11 Datagram-Sockets 1189
18.12 E-Mail 1196
18.13 Tiefer liegende Netzwerkeigenschaften 1204
18.14 Zum Weiterlesen 1205

19 Verteilte Programmierung mit RMI und WebServices 1207
19.1 Entfernte Objekte und Methoden 1207
19.2 Java Remote Method Invocation 1209
19.3 Auf der Serverseite 1213
19.4 Auf der Clientseite 1220
19.5 Entfernte Objekte übergeben und laden 1221
19.6 Weitere Eigenschaften von RMI 1222
19.7 Daily Soap 1224
19.8 Java Message Service (JMS) 1229
19.9 Zum Weiterlesen 1230

20 JavaServer Pages und Servlets 1231
20.1 Dynamisch generierte Webseiten 1231
20.2 Servlets und JSPs mit Tomcat entwickeln 1233
20.3 Statisches und Dynamisches 1238
20.4 Die Expression Language (EL) 1240
20.5 Formulardaten 1242
20.6 Auf Beans zurückgreifen 1244
20.7 JSP-Tag-Libraries 1247
20.8 Einbinden und Weiterleiten 1251
20.9 Scripting-Elemente in JSPs 1253
20.10 JSP-Direktiven 1256
20.11 Sitzungsverfolgung (Session Tracking) 1258
20.12 Servlets 1260
20.13 Zum Weiterlesen 1265

21 Applets 1267
21.1 Applets in der Wiege von Java 1267
21.2 Die Applet-API 1272
21.3 Webstart 1280

22 Midlets und die Java ME 1283
22.1 Java Platform, Micro Edition (Java ME) 1283
22.2 Konfigurationen 1283
22.3 Profile 1284
22.4 Wireless Toolkits 1285
22.5 Die Midlet-API 1289
22.6 Zum Weiterlesen 1290

23 Datenbankmanagement mit JDBC 1291
23.1 Das relationale Modell 1291
23.2 Datenbanken und Tools 1292
23.3 JDBC und Datenbanktreiber 1297
23.4 Eine Beispielabfrage 1300
23.5 Mit Java an eine Datenbank andocken 1302
23.6 Datenbankabfragen 1311
23.7 Die Ausnahmen bei JDBC 1319
23.8 Elemente einer Datenbank hinzufügen und aktualisieren 1320
23.9 ResultSets in Bohnen durch RowSet 1322
23.10 Vorbereitete Anweisungen (Prepared Statements) 1326
23.11 Transaktionen 1328
23.12 Metadaten 1329
23.13 Einführung in SQL 1333
23.14 Zum Weiterlesen 1337

24 Reflection und Annotationen 1339
24.1 Metadaten 1339
24.2 Metadaten der Klassen mit dem Class-Objekt 1340
24.3 Attribute, Methoden und Konstruktoren 1351
24.4 Objekte erzeugen und manipulieren 1361
24.5 Methoden aufrufen 1368
24.6 Annotationen 1372
24.7 Zum Weiterlesen 1384

25 Logging und Monitoring 1385
25.1 Logging mit Java 1385
25.2 Überwachen von Systemzuständen 1388
25.3 MBean-Typen, MBean-Server und weitere Begriffe 1389
25.4 Geschwätzige Programme und JConsole 1392
25.5 Der MBeanServer 1393
25.6 Eine eigene Standard-MBean 1395
25.7 Zum Weiterlesen 1399

26 Sicherheitskonzepte 1401
26.1 Zentrale Elemente der Java-Sicherheit 1401
26.2 Der Sandkasten (Sandbox) 1403
26.3 Sicherheitsmanager (Security Manager) 1404
26.4 Signierung 1412
26.5 Digitale Unterschriften 1414
26.6 Verschlüsseln von Daten(-strömen) 1418
26.7 Zum Weiterlesen 1421

27 Java Native Interface (JNI) 1423
27.1 Java Native Interface und Invocation-API 1423
27.2 Einbinden einer C-Funktion in ein Java-Programm 1424
27.3 Nativ die Stringlänge ermitteln 1429
27.4 Erweiterte JNI-Eigenschaften 1430
27.5 Einfache Anbindung von existierenden Bibliotheken 1433
27.6 Zum Weiterlesen 1434

28 Dienstprogramme für die Java-Umgebung 1435
28.1 Die Werkzeuge im Überblick 1435
28.2 Java-Compiler 1435
28.3 Der Java-Interpreter java 1437
28.4 Das Archivformat Jar 1439
28.5 Monitoringprogramme 1444
28.6 Ant 1446
28.7 Weitere Dienstprogramme 1451
28.8 Zum Weiterlesen 1453

Pressestimmen:

Empfehlung der Redaktion!
Autorenporträt
Christian Ullenboom, Dipl.-Informatiker, ist Sun-zertifizierter Java Programmierer und seit 1997 Trainer und Berater für Java-Technologien und objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Seine Sympathie gilt Java Performance Tuning und den sinnlichen Freuden des Lebens.
Rezensionen
Empfehlung der Redaktion! iX, 2009