Joller-Voss Java Kurse
Java-Kurs Web Site
Kursübersicht

Zielpublikum Programmieranfäner
Vorkenntnisse keine
Kursbeginn jederzeit
Kursdauer 5 Abende oder 3 Tag

Inhaltsverzeichnis - Java 2 - Vertiefte Java und OO Konzepte

KURSZIELE
Sie kennen

  1. Statische / Klassenvariablen und Objektvariablen
  2. Innere Klassen
  3. Vector Klasse
  4. Java Eingabe / Ausgabe (Grundkenntnisse)
  5. Threads und Synchronisation
  6. Grundkenntnisse der Socket (Netzwerk-) Programmierung
und können diese in einfachen Beispielen einsetzen.

KURSUNTERLAGEN Skript (PDF)

KURSINHALTE
 VERTIEFTE JAVA KENNTNISSE	1
1.1.	ÜBER DIESEN VERTIEFENDEN TEIL DES KURSES	1
1.2.	KURS ÜBERSICHT	2
1.3.	MODUL 1 : FORTGESCHRITTENE SPRACHKONZEPTE	3
1.3.1.	Einleitung	3
1.3.1.1.	Lernziele	3
1.3.2.	Lektion 1 - Java vertieft	4
1.3.2.1.	Einsatz überschriebener Methoden	4
1.3.2.2.	Regeln betreffend überschriebenen Methoden	5
1.3.2.3.	Einsatz überladener Konstruktoren	7
1.3.2.4.	Aufruf des Konstruktors der Oberklasse	8
1.3.2.5.	Klassen Variablen	10
1.3.2.6.	Klassen Methoden	11
1.3.2.7.	Das final Schlüsselwort	12
1.3.2.8.	Abstrakte Klassen	13
1.3.2.9.	Interfaces	15
1.3.2.10.	Zugriffskontrolle	16
1.3.3.	Lektion 2 - Deprecation	17
1.3.3.1.	Das Deprecation Flag	18
1.3.3.1.1.	Verbesserte Version von  DateExample	18
1.3.4.	Lektion 3 - Innere Klassen	19
1.3.4.1.	Beispiel für eine Innere Klasse	20
1.3.4.2.	Wie funktionieren Innere Klassen?	21
1.3.4.3.	Anonyme Klassen	24
1.3.5.	Lektion 4 - Die Vector Klasse	25
1.3.5.1.	Methoden der Vector Klasse	26
1.3.5.2.	Beispiel für ein Vektor Template	27
1.3.6.	Innere Klassen - Übungen	29
1.3.7.	Quiz	33
1.3.8.	Zusammenfassung	35
1.4.	MODUL 2 : STREAM I/O UND DATEIEN	36
1.4.1.	Einleitung	36
1.4.1.1.	Lernziele	36
1.4.2.	Lektion 1 - Stream I/O	37
1.4.2.1.	Stream Grundlagen	37
1.4.2.2.	Methoden  der Input Streams	37
1.4.2.3.	Programmbeispiel	38
1.4.2.4.	Ausgabe des Programmbeispiels	40
1.4.2.5.	Methoden der Ausgabeströme	41
1.4.2.6.	Programmbeispiel	42
1.4.2.7.	Ausgabedatei	42
1.4.2.8.	Grundlegende Stream Klassen	42
1.4.2.9.	URL Eingabe Streams	44
1.4.2.10.	Kopieren einer Bilddatei	44
1.4.2.11.	Öffnen eines InputStreams	44
1.4.2.12.	Unicode	45
1.4.2.13.	Buffered Reader und Writer	47
1.4.2.14.	Lesen von Eingabe-Zeichenketten	47
1.4.2.15.	Verwenden unterschiedlicher Zeichen Codierungen	48
1.4.3.	Lektion 2 - Datei I/O	49
1.4.3.1.	Kreieren eines File Objekts	49
1.4.3.1.1.	Methoden der File Klasse	49
1.4.3.1.2.	Beispielprogramm	50
1.4.3.2.	Random Acces Dateien	51
1.4.3.2.1.	Beispielprogramm	51
1.4.3.3.	Serialisierung von Objekten	52
1.4.3.3.1.	Objekt Graphen	52
1.4.3.3.2.	Schreiben eines Objekt Streams	53
1.4.3.3.3.	Lesen eines Objekt Streams	54
1.4.3.3.4.	Vollständiges Serialsierungsbeispiel	54
1.4.4.	File I/O Übung	55
1.4.5.	Quiz	58
1.4.6.	Zusammenfassung	59
1.5.	MODUL 3 : THREADS	60
1.5.1.	Einleitung	60
1.5.1.1.	Lernziele	60
1.5.2.	Lektion 1 - Threading in Java	61
1.5.2.1.	Was sind Threads?	61
1.5.2.2.	Bestandteile eines Threads	61
1.5.2.3.	Kreieren eines Threads	62
1.5.2.4.	Starten des Threads und Scheduling mehrerer Threads	63
1.5.3.	Lektion 2 - Ablaufsteuerung von Threads	65
1.5.3.1.	Einen Thread beenden	65
1.5.3.2.	Testen eines Threads	66
1.5.3.3.	Thread on Hold	66
1.5.3.4.	Alternativen zum Kreieren von Threads	68
1.5.3.5.	Runnable versus extends Thread	69
1.5.4.	Praktische Übung	70
1.5.5.	Lektion 3 : Synchronisation in Java	73
1.5.5.1.	Das Synchronisations-Problem	73
1.5.5.2.	Das Objekt Lock Flag	75
1.5.5.3.	Freigabe des Lock Flags	76
1.5.5.4.	Synchronisation insgesamt	77
1.5.5.5.	Deadlock	77
1.5.6.	Lektion 4 - Thread Interaktion (wait/notify)	78
1.5.6.1.	Koordination von Threads	78
1.5.6.2.	Lösung des Koordinationsproblems	79
1.5.6.3.	Die Wahrheit	80
1.5.7.	Lektion 5 - Producer / Consumer Beispiel	81
1.5.7.1.	Beschreibung des Problems	81
1.5.7.2.	Der Produzent	81
1.5.7.3.	Der Konsument	82
1.5.7.4.	Der synchronisierte Stack	83
1.5.7.5.	Das vollständige Stack Beispiel	85
1.5.7.5.1.	Das Hauptprogramm SyncTest	85
1.5.7.5.2.	Der Konsument Consumer	85
1.5.7.5.3.	Der Produzent Producer	86
1.5.7.5.4.	Der synchronisierte Stack SyncStack	86
1.5.7.5.5.	Mögliche Ausgaben	87
1.5.7.6.	Das Philosphenproblem - Aushungern oder Starvation	89
1.5.8.	Praktische Übung - Konstruktion einer Animation	90
1.5.8.1.	Der Programmcode	92
1.5.9.	Quiz	94
1.5.10.	Zusammenfassung	95
1.6.	MODUL 4 : NETZWERKPROGRAMMIERUNG	96
1.6.1.	Einleitung	96
1.6.1.1.	Lernziele	96
1.6.2.	Lektion 1 - Verbindungsaufbau mit Sockets	97
1.6.2.1.	Sockets - was ist das?	97
1.6.2.2.	Aufsetzen einer Verbindung und deren Adressierung	98
1.6.2.3.	Die Port Nummer	99
1.6.2.4.	Das Java Netzwerkmodell	100
1.6.2.5.	Ein minimaler TCP/IP Server	101
1.6.2.6.	Ein minimaler TCP/IP Client	102
1.6.3.	Lektion 2 - UDP Sockets	103
1.6.3.1.	Was ist ein UDP Socket?	103
1.6.3.2.	Die DatagramPacket Klasse	104
1.6.3.3.	Die DatagramSocket Klasse	105
1.6.3.4.	Ein UDP Daytime Server	106
1.6.3.5.	Ein UDP Daytime Client	106
1.6.3.6.	Die Ausgaben von Client und Server	107
1.6.4.	Praktische Übung - Client/Server Beispiel	109
1.6.4.1.	Das Server Programm	111
1.6.4.2.	Das Client Programm	113
1.6.5.	Quiz	113
1.6.6.	Zusammenfassung	115
1.7.	ZUSAMMENFASSUNG DES KURSES	116

Copyright ©, Alle Rechte vorbehalten.
Josef M. Joller
Heute ist (lokale Zeit)