Java – Kompaktschulung IT 7171

Seminarziel

Die Java-Kompaktschulung fasst die Inhalte aus Grundlagen- und Aufbaukurs gezielt zusammen.

Seminarinhalt

Java - Kompaktschulung

Einführung

  • Zur Entstehung von Java, Java versus C#, C++
  • Java Compiler, Bytecode
  • Virtuelle Maschine (JVM), Java-Laufzeitumgebung
  • ›Write Once, Run Anywhere‹ (WORA) in der Praxis
  • Säulen Java SE, Java EE, Java ME
  • Java 6, Java Development Kit (JDK)
  • Eclipse und NetBeans als Entwicklungsumgebung
  • Das erste Programm

Grundlegende Spracheigenschaften

  • Syntax, Schlüsselworte
  • main()-Funktion, Programmausführung
  • Bildschirmausgabe
  • Anweisungen, Methoden
  • JavaDoc und API-Dokumentation
  • Variablen und Datentypen
  • Ausdrücke und Operatoren
  • Bedingte Anweisungen/Fallunterscheidungen
  • Schleifen
  • Methoden, Parameter, Argumente

Klassen und Objekte nutzen

  • Objekte mit new erzeugen
  • Mit Referenzen arbeiten, Identität und Gleichheit
  • Der Garbage-Collector (GC)
  • Felder und die Klasse Arrays
  • Erweiteres for (foreach)
  • Variable Argumentlisten (Varargs)
  • Eigene Pakete schreiben, Klassen importieren, Default-Paket

Zeichenkettenverarbeitung

  • Klasse Character
  • Die Klassen String, StringBuffer, StringBuilder [PDF]
  • Konvertierungen
  • Reguläre Ausdrücke und die Klasse Pattern
  • Zerlegen von Zeichenfolgen mit Scanner, StringTokenizer

Die Java-API

  • Übersicht über die Pakete der API
  • Wrapper Klassen (Integer, Character, ...)
  • Autoboxing
  • Externe Programme aufrufen
  • Zeitmessungen
  • Klassenlader, Klassenpfad und externe Bibliotheken

Klassen, Attribute und Methoden deklarieren

  • Elemente UML (Unified Modeling Language)
  • Klassendeklarationen
  • Attribute und Operationen
  • Die this-Referenz
  • Das Geheimnisprinzip und Sichtbarkeiten
  • private, protected, public, paketsichtbar
  • Statische Eigenschaften, static
  • Konstanten
  • Aufzählungen und enum
  • Der Konstruktor

Wiederverwendung in der Objektorientierung

  • Assoziationen
  • Java Collection API, einfache Datenstrukturen (Liste, Menge)
  • Generics am Beispiel von Datenstrukturen
  • Vererbung mit extends
  • Methoden überschreiben, finale Methoden, Annotationen
  • Die „Über“-Klasse java.lang.Object
  • Substitutionsprinzip, instanceof, dynamisches Binden
  • Finale Klassen, abstrakte Klassen, Schnittstellen
  • Zugriffsschutz

Ausnahmen/Exceptions

  • Motivation für eine Ausnahmebehandlung
  • Ausnahmen behandeln try, catch, finally
  • Ausnahmen am Beispiel von Ein-/Ausgabe-Klassen Scanner, FileWriter
  • Ausnahmen weiterleiten, throws
  • Eigene Ausnahmen
  • Checked Exceptions und Unchecked Excpetions, RuntimeException
  • Fehler der JVM: Error
  • Assertions

Fortgeschrittenes aus den Bibliotheken und Tools

  • Threads
  • Datum und Uhrzeit
  • Swing, JFC und AWT
  • Komponenten im Gui-Builder von NetBeans
  • Java-Archive (jar)

Generics

  • Einsatzgebiete von Generics
  • Typparameter, generische Klassen und generische Methoden
  • Wildcards
  • Bounds
  • Generics und Vererbung, Vergleich zu Arrays, Kovarianz, Invarianz
  • Raw Types, Typlöschung
  • Generics im Laufzeitsystem, Reflection-API, Run-time Type Tokens

Internationalisierung und Lokalisierung

  • Locale, korrekte Sortierung
  • Internationalisierung mit ResourceBundle
  • Formatieren von Zeichenketten, Datum, Zahlen

Dynamische Datenstrukturen

  • Arrays-Methoden
  • Listen (ArrayList, LinkedList)
  • Mengen (HashSet, TreeSet)
  • Assoziativspeicher ((Weak)HashMap, Properties)
  • Queues, blockierende Queues
  • Die Utility-Klasse Collections
  • Sonstige Klassen im java.util-Paket
  • Strong References und Weak References

Paralleles Programmieren mit Threads

  • Die Klasse Thread und das Interface Runnable
  • Das Concurrent-Paket
  • Exectuor, Thread-Pools
  • Callable und Future
  • Synchronisation über kritische Abschnitte, Locks
  • Koordination (Warten und Benachrichtigen)
  • Thread-Gruppen
  • Algorithmen und Synchronisation

Datei Ein/-Ausgabe

  • Dateien, File, Verzeichnisse listen, Dateiattribute
  • Datenströme (XXXStream, Reader, Writer)
  • Kompression
  • Verschlüsselte Datenströme
  • Serialisierung
  • Benutzereinstellungen sichern

Einfache grafische Oberflächen

  • Ereignisse
  • AWT und Swing
  • Container und Komponenten
  • Ereignisse der Komponenten
  • Geometrie und Layoutmanager
  • Dialoge
  • Swing und SWT/JFace

Netzwerkzugriffe in Java

  • Das Paket java.net [PDF]
  • URLs und Verbindungen zum Netz
  • URL-Verbindungen
  • Sockets
  • Netzwerk-Clients
  • Ausblick auf NIO (und NIO.2)
  • Server implementieren
  • JavaServer Pages (JSP) und Servlets

Entfernte Methodenaufrufe und Web-Services

  • Java Remote Method Invocation (RMI)
  • Lokale und entfernte (remote) Objekte
  • Namensdienst/Registry
  • Dienstprogramm rmiregistry
  • Übergabe-Semantik
  • Web-Services

Datenbankzugriff mit JDBC

  • Relationale Datenbanken und SQL
  • Datenbanktreiber
  • Eine Beispielverbindung, SQL-Anweisungen ausführen
  • DriverManager, ResultSet
  • Transaktionen
  • DataSource
  • Das DAO-Pattern

Reflection und Annotationen

  • Meta-Programmierung
  • Class-Objekte
  • Eigenschafen zur Laufzeit auslesen
  • Methoden aufrufen
  • JavaBeans-Konvention
  • Eigene Annotationen deklarieren
  • Annotationen auswerten

XML-Verarbeitung

  • Begriffswelt von XML: Elemente, Tags, Schema, Validierung
  • Java API für XML, JAXP
  • Lesen und schreiben mit StAX
  • JDOM, DOM-Baum aufbauen und füllen
  • Objekt-XML-Mapping mit JAXB

Einführung in die Enterprise Edition

  • Bestandteile der Java EE 5
  • Java EE Application-Server
  • Namen-/Verzeichnisdienst JNDI
  • Enterprise Java Beans (EJB)
  • Java Persistence API (JPA)
  • Java Message Service (JMS)

Werkzeuge

  • Testen mit JUnit
  • Build-Management mit Ant
  • JMX und JConsole, visualvm
  • Logging, Log-Auswertung
  • Tools zum Einhängen von nativen Bibliotheken, JNI-Wrapper

Zielgruppe

Dieses Seminar ist für Software-Entwickler konzipiert.

Voraussetzungen

Kenntnis einer strukturierten Programmiersprache (Variablen, Schleifen,…), Grundverständnis der objektorientierten Idee.

Anfrage zu diesem Seminar.

Seminaranfrage

Seminar buchen oder Infos anfordern