Das Java 2 JDK 5 Lehrbuch - Sprache und Bibliotheken

Das Java 2 JDK 5 Lehrbuch - Sprache und Bibliotheken

von: Karsten Wolke (Hrsg.), A. Austermann, K. Yermashov et al.

C & L Computer- und Literaturverlag GmbH, 2005

ISBN: 9783936546255 , 845 Seiten

Format: PDF, OL

Kopierschutz: DRM

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 20,00 EUR

Mehr zum Inhalt

Das Java 2 JDK 5 Lehrbuch - Sprache und Bibliotheken


 

Inhalt

6

1 Das Fundament von Java

16

1.1 DIE SPRACHE JAVA

17

1.1.1 Warum Java?

17

1.2 OBJEKTORIENTIERTE PROGRAMMIERUNG

25

1.2.1 Objekt

25

1.2.2 Methode

25

1.2.3 Kapselung von Eigenschaften

26

1.2.4 Nachrichten

27

1.2.5 Klasse

27

1.2.6 Vererbung

28

1.2.7 Überschreiben von Methoden und Eigenschaften

29

1.2.8 Überladung von Methoden

30

1.2.9 Mehrfachvererbung

31

1.3 DIE INSTALLATION

32

1.3 DIE INSTALLATION JAVA

32

1.3.1 Installation von J2SE

32

1.3.2 Installation des JDK

33

1.3.3 Installation der Dokumentation des JDK

34

1.3.4 Installation der Quelltexte

35

1.3.5 Java-Software entwickeln

35

1.3.6 Entwicklungswerkzeuge

36

2 Grundlagen von Java

38

2.1 GRUNDLEGENDE PROGRAMMIERSTRUKTUREN

39

2.1.1 Das erste Java-Programm

39

2.1.2 Kommentare

41

2.1.3 Bezeichner

43

2.1.4 Datentypen

44

2.1.5 Variablen

48

2.1.6 Konstanten

49

2.1.7 Arrays

50

2.1.8 Speichermanagement

53

2.1.9 Typkonvertierungen

54

2.1.10 Ausdrücke

56

2.1.11 Anweisungen

65

2.2 OBJEKTORIENTIERTE PROGRAMMIERSTRUKTUREN

81

2.2.1 Klassen

81

2.2.2 Eigenschaften

82

2.2.3 Objekte

82

2.2.4 Methoden

83

2.2.5 Die this-Referenz

88

2.2.6 Konstruktoren

89

2.2.7 Destruktoren

90

2.2.8 Pakete

91

2.2.9 Modifier

97

2.2.10 Statische Strukturen

103

2.2.11 Vererbung

106

2.2.12 Initialisierungsprozeß eines Objekts

111

2.2.13 Aufruf überschriebener Methoden aus Konstruktoren

113

2.2.14 Abstrakte Klassen

114

2.2.15 Schnittstellen (Interfaces)

116

2.2.16 Innere und anonyme Klassen

120

2.3 EXCEPTIONS

124

2.3.1 Abfangen und Behandeln von Exceptions

125

2.3.2 Die Klassifizierung von Exceptions

127

2.3.3 Das Ausnahmeobjekt verwenden

128

2.3.4 Mehr als eine Ausnahme abfangen

129

2.3.5 Die finally-Klausel

131

2.3.6 Weiterleiten von Exceptions

132

2.3.7 Struktur der Ausnahmebehandlung

133

2.3.8 Eigene Exception-Typen definieren

134

2.3.9 Auslösen einer Exception

135

3 Weiterführende Spracheigenschaften

138

3.1 ZEICHENKETTEN

139

3.1.1 Die Klasse String

139

3.1.2 StringBuffer und StringBuilder

150

3.1.3 Die Klasse StringTokenizer

152

3.2 HILFSKLASSEN

155

3.2.1 Wrapper-Klassen

155

3.2.2 Mathematische Klassen

162

3.2.3 Die Klasse Arrays

170

3.2.4 Die Klasse System

172

3.2.5 Die Klasse Runtime

180

3.2.6 Die Klassen Date, Calendar und GregorianCalendar

184

3.3 EVENTS

188

3.3.1 Ereignisverarbeitung in Java

189

3.3.2 Ereignistypen

191

3.3.3 Ereignisempfänger

191

3.3.4 Ereignisquellen

191

3.3.5 AWT-Ereignisse

192

3.3.6 Implementierung von Ereignisempfängern

202

3.3.7 Eigene Ereignisse definieren und auslösen

211

3.4 COLLECTIONS

216

3.4.2 Java-Implementierungen der Mengenklassen

218

3.4.3 Synchronisation von Collections

226

3.4.4 Das Interface Iterator zum Durchlaufen von Collections

226

3.4.5 Suchen, Sortieren und andere Algorithmen

227

3.5 ENTWURFSMUSTER

232

3.5.1 Singleton

233

3.5.2 Immutable

235

3.5.3 Factory

237

3.5.4 Iterator

242

3.5.5 Delegate

244

4 Erweiterte Sprachkonzepte

248

4.1 AUTOBOXING UND UNBOXING

249

4.1.1 Regeln für das Autoboxing beziehungsweise Unboxing

251

4.2 STATIC IMPORTS

256

4.2.1 Statische Importe

257

4.2.2 Gefahren und Nachteile statischer Importe

259

4.3 TYPSICHERE AUFZÄHLUNGEN

261

4.3.1 Aufzählungen mit enum

262

4.3.2 Eigenschaften und Struktur von enum-Aufzählungen

264

4.3.3 Aufzählungen innerhalb anderer Strukturen erzeugen

265

4.3.4 Iteration über Aufzählungen

266

4.3.5 enum-Aufzählungen in switch-Anweisungen

266

4.3.6 Mengen von Aufzählungen

268

4.3.7 Benutzerdefinierte Elemente in enums

270

4.3.8 Schnittstellen implementieren in Aufzählungen

271

4.3.9 Aufzählungswertbezogene Klassenrümpfe

272

4.4 VARIABLE PARAMETERLISTEN

274

4.4.1 Variable Parameterlisten als erweitertes Sprachkonzept

276

4.4.2 Einschränkungen von VarArgs-Definitionen

277

4.5 METADATEN

277

4.5.1 Deklaration von Annotationstypen

278

4.5.2 Annotationsverarbeitung

281

4.6 GENERICS

291

4.6.1 Definition parametrisierbarer Typen

295

4.6.2 Untertypisierung

300

4.6.3 Bounds

300

4.6.4 Generische Methoden und Konstruktoren

304

4.6.5 Wildcards

306

4.6.6 Java Generics kompilieren

310

4.6.7 Besonderheiten von Java Generics

315

4.6.8 Generischen Quellcode mit nicht generischem Quellcode verknüpfen

320

5 Datenströme und Datenpersistenz

324

5.1 EIN- UND AUSGABE VON DATEN

325

5.1.2 Stream-Klassen

326

5.1.3 Wahlfreier Zugriff auf Dateien

334

5.1.4 Einfache Datenein- und -ausgabe mit der Klasse System

336

5.2.1 Objekte serialisieren und deserialisieren

338

5.2.2 Der Serialisierungs-Mechanismus

340

5.2.3 Erweiterte Eigenschaften der Serialisierung

340

5.3 NEW I/O

342

5.3.1 Puffer

343

5.3.2 Channels

346

5.3.3 Dateisperren

347

5.3.4 File Memory Mapping

347

5.3.5 Scattering und Gathering

348

5.3.6 Non-blocking und Multiplexed I/O

349

5.3.7 Zeichensätze

351

5.4 DATENBANKEN MIT JDBC

352

5.4.1 Die Architektur von JDBC

353

5.4.2 Kommunikation via JDBC

356

5.4.3 Beispieldatenbank

362

5.4.4 Weiterführende JDBC-Eigenschaften

370

6 GUI-Programmierung

376

6.1 SWING

377

6.1.1 Das Prinzip von Swing

377

6.1.2 Komponenten der Bibliothek Swing

381

6.2 DRAG&DROP

459

6.2.1 Drag&Drop-Unterstützung in Swing

459

6.2.2 TransferHandler für die Datenübertragung

461

6.2.3 Datei-Drag&Drop

465

7 Netzwerk und verteilte Systeme

470

7.1 TCP-/UDP-SOCKETS

471

7.1.1 Das erste Netzwerkprogramm

472

7.1.2 Der Client lernt sprechen

473

7.1.3 Ein erster Internet-Server...

476

7.1.4 Quasseln im Netz – der Chatserver

479

7.1.5 UDP-Sockets

485

7.1.6 Die Klassen URL und URLConnection

489

7.1.7 Die Klasse URI

492

7.2 RMI – VERTEILTE PROGRAMMIERUNG IN JAVA

493

7.2.1 Entwurf einer verteilten Applikation mit Hilfe von RMI

494

7.2.2 Verteilte Beispielapplikation

495

7.2.3 Dynamisches Generieren von Stubs

504

7.2.4 Skalierung von entfernten Objekten

505

7.2.5 Weitere Eigenschaften von RMI

510

7.3 EVENT HANDLING IN VERTEILTEN SYSTEMEN

511

7.3.1 Fallbeispiel Value Change

511

7.3.2 Implementierung von Listenern in verteilten Systemen

517

7.4 SERVLETS – DIE ALTERNATIVE ZU CGI

526

7.4.1 Vorteile von Servlets gegenüber CGI-Skripten

526

7.4.2 Servlets programmieren

526

7.4.3 Kommunikation leichtgemacht – der Java-Chat

530

7.4.4 Cookies – Informative Krümel

536

7.4.5 Sessions – Behalten Sie Ihre Kunden im Auge

541

7.5 JAVA SERVER PAGES

547

7.5.1 Wann Servlets, wann JSPs?

548

7.5.2 Die Struktur von JSPs

549

7.5.3 JSPs laden

550

7.5.4 JSP-Elemente

551

7.5.5 Scopes

567

7.5.6 Implizite Objekte

567

7.5.7 Expression Language (EL)

568

7.5.8 Tag-Extensions

569

7.6 JAVA NAMING AND DIRECTORY INTERFACE (JNDI)

576

7.6.1 Die Architektur von JNDI

577

7.6.2 Programmieren mit der JNDI-API

580

7.6.3 Zusammenfassung

585

7.7 APPLETS

585

7.7.1 Kompatibilitätsprobleme

586

7.7.2 Das HelloWorld-Applet

586

7.7.3 Applets und Applikationen

588

7.7.4 Das APPLET-Tag

589

7.7.5 Übergeben von Parametern an Applets

590

7.7.6 Die Klasse Applet

591

7.7.7 Sicherheitsbeschränkungen

595

8 Konkurrierende Programmierung

596

8.1 MULTITHREADING

597

8.1.1 Die Klasse Thread

598

8.1.2 Die Schnittstelle Runnable

606

8.1.3 Threadgruppen

611

8.1.4 Die Klassen Timer und TimerTask

614

8.2 SYNCHRONISATION

616

8.2.1 Monitore

618

8.2.2 Die Methoden wait() und notify()

623

8.2.3 Die Klassen PipedInputStream und PipedOutputStream

626

8.3 CONCURRENCY

628

8.3.1 Das Interface Executor

628

8.3.2 Semaphore

629

8.3.3 Locks

630

8.3.4 CyclicBarrier

632

9 Weitere Java-Klassenbibliotheken

634

9.1 SICHERHEIT IN JAVA

635

9.1.1 Das Sandbox-Modell

635

9.1.2 Das Security-API

636

9.1.3 Der Security Manager

638

9.1.4 Der Access Controller

641

9.1.5 Beispielanwendung

650

9.2 PREFERENCES

654

9.2.1 Die Architektur des Preferences API

655

9.2.2 Die Klasse Preferences

655

9.2.3 Beispielanwendung

658

9.3 REGULÄRE AUSDRÜCKE

661

9.3.1 Die Syntax regulärer Ausdrücke

662

9.3.2 Die Klasse Pattern

664

9.3.3 Die Klasse Matcher

665

9.3.4 Redundante Methoden in der Klasse String

666

9.3.5 Beispielszenarios für reguläre Ausdrücke

666

9.4 DRUCKEN MIT DEM PRINTSERVICE-API

670

9.4.1 Einfache Dokumente drucken

670

9.4.2 Drucken in eine Postscriptdatei

673

9.4.3 Drucken von frei formatierten Dokumenten

675

9.5 SOUND IN JAVA

677

9.5.1 JavaMediaFramework versus Java Sound

677

9.5.2 Wie funktioniert Audio-Sampling?

678

9.5.3 Einbindung von Audiodateien mit der Klasse AudioClip

679

9.5.4 Aufnahme und Wiedergabe mit dem Java-Sound-API

681

9.5.5 Achtung, Aufnahme!

685

9.5.6 MIDI

688

9.6 DAS REFLECTION-API

691

9.6.1 Die Basisklassen Object und Class

692

9.6.2 Modifier analysieren

696

9.6.3 Dynamisches Laden und Objekterzeugung von Klassen

697

9.6.4 Dynamische Methodenaufrufe

699

9.7 LOGGING

709

9.7.1 Einfaches Logging

710

9.7.2 Erweitertes Logging

711

9.7.3 Anpassen der Logging-Konfiguration

714

9.7.4 Handler

715

9.7.5 Filter definieren

721

9.7.6 Formatter definieren

722

9.8 JAVA NATIVE INTERFACE

723

9.8.1 Erstellen von Java-Klassen mit nativen Methoden

723

9.8.2 Mapping zwischen Java und nativen Datentypen

727

9.8.3 Zugriff auf Java-Objekte in nativen Methoden

728

10 Grafikprogrammierung

738

10.1 GRAFIK MIT DEM 2D-API

739

10.1.1 Koordinatensysteme

739

10.1.2 Einfache Formen zeichnen

740

10.1.3 Verwenden komplexerer 2D-API-Zeichenfunktionen

742

10.1.4 Figur + Figur = Constructive Area Geometry

744

10.1.5 Komplexere Zeichenobjekte – Kurven und General Paths

746

10.1.6 Transformationen

749

10.1.7 Fonts

751

10.1.8 Linien zeichnen – das Interface »Stroke«

753

10.1.9 Bilder, Farbverläufe – Formen füllen

756

10.1.10 Bildbearbeitung

761

10.1.11 Transparenz und die Klasse AlphaComposite

763

10.1.12 Bildbearbeitung mit der Klasse BufferedImage

766

10.1.13 Filter

768

10.1.14 Animationen in Java

773

10.1.15 Clipping

775

10.2 DREIDIMENSIONALE GRAFIKEN MIT DEM 3D-API

777

10.2.1 Licht aus – Spot an! Noch mehr Beleuchtung

781

10.2.2 Weitere Objekte – die Interfaces Shape3D und Primitive

782

10.2.3 Das Aussehen von Objekten festlegen – Appearance

785

10.2.4 Bewegung kommt ins Spiel: Transformation und Behavior

790

10.2.5 Die Klasse Interpolator

799

10.2.6 Interaktion

802

Anhang A Werkzeuge des JDK

806

Literaturverzeichnis

828

Stichwortverzeichnis

830

Mehr eBooks bei www.ciando.com

0