Java 9 Fortschritt


Thema: Java 9 Fortschritt

Wann: vom 15.10.2017 bis 19.10.2018

Wo: Mundsburger Damm 26, 22087 Hamburg-Mitte

Teilnehmergebühr: EUR 2100 netto; EUR 2499 Inkl 19% MwSt.

 

Die oben angegebene Teilnehmergebühr bezieht sich auf eine Mindestteilnahme von 4 Personen an der Schulung. Bei einer Schulung für eine Kleingruppe (2 bis 3 Teilnehmer) wird zusätzlich ein Zuschlag in Höhe von EUR 700,- netto berechnet.

 

Die Schulung wird als  Bildungsurlaub anerkannt.

Anmeldeschluss: 3 Wochen vor Schulungsbeginn.



Das Kursangebot ist speziell für hörgeschädigte Teilnehmerinnen und Teilnehmer ausgerichtet. Daher ist die Kostenübernahme der Teilnehmergebühr durch das Integrationsamt  sowohl für hörgeschädigte Arbeitnehmerinnen und Arbeitnehmer als auch für hörgeschädigte Selbstständige möglich. Bitte beachten Sie, dass die Anträge bis zu 4 Wochen dauern können und Einzelprüfungen möglich sind.

 

Beschreibung:

Dieses Aufbau-Seminar richtet sich an EntwicklerInnen, die ihre bereits gewonnenen Erfahrungen und Kenntnisse in der Entwicklung mit der Java Standard Edition (Java SE 9 oder Vorgängerversionen) vertiefen möchten. Themen der Schulung sind beispielsweise die Grundlagen der Entwicklung verteilte Anwendungen sowie die Entwicklung sicherer Anwendungen. Daneben werden praktische Einsatzmöglichkeiten für eine Reihe speziellerer Themen aufgezeigt, wie zum Beispiel Reflexion, Annotationen oder Proxies. Dieses Seminar berücksichtigt besonders die neuen Features aus dem JDK9. So liegt ein besonderer Schwerpunkt auf dem effektiven Einsatz von zum Beispiel Lambda-Ausdrücken, Methoden-Referenzen, Java Platform Module System, Read-eval-print loop (REPL) named JShell tool und der Stream-API für Collections.

 

Leistung:

  • Interaktiver Präsenzunterricht mit praxiserfahrenen und zertifizierten Trainern
  • Schulungsprache ist deutsche Schrift- und Gebärdensprache
  • Schulungsraum
  • Theoretische und praktische Module
  • Umfangreiches Catering mit einem warmen Mittagessen, diversen Kaltgetränken,mehreren Tee- und Kaffeesorten, Obst, kleinen Snacks für die Pausen und Abendessen

Zielgruppe

Software-Entwickler

 

Voraussetzung

Java Grundlage

 

Schulungs-Dauer

5 Tage, 1. bis 4. Tag 09:00 bis 17:00 Uhr, 5. Tag 9:00 bis 16:00 Uhr

 

Teilnehmerzahl

min. 1, max. 8 Personen

 

Dozent

Manuel Gnerlich


Inhalte der Schulung

 

Generics und Lambda

● 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

● Funktionale Schnittstellen, Lambda-Ausdrücke

 

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, Caches

● Java 9 Stream API

 

Nebenläufiges Programmieren mit Threads

● Die Klasse Thread und das Interface Runnable

● Das java.util.concurrent-Paket

● Executor, Thread-Pools

● Callable und Future

● Synchronisation über kritische Abschnitte, Locks

● Koordination (Warten und Benachrichtigen)

● Algorithmen und Synchronisation


Datei Ein/-Ausgabe

● Dateien, File, Verzeichnisse listen, Dateiattribute

● Datenströme (XXXStream, Reader, Writer)

● Kompression

● Verschlüsselte Datenströme

● Serialisierung

● Benutzereinstellungen sichern

 

Netzwerkzugriffe in Java

Das Paket java.net

● URLs und Verbindungen zum Netz

● Sockets

● Netzwerk-Clients

● Server implementieren

● Arbeitsweise von JavaServer Pages (JSP) und Servlets

 

Entfernte Methodenaufrufe und Web-Services

● Java Remote Method Invocation (RMI)

● Namensdienst/Registry

● Übergabe-Semantik

● Web-Services mit SOAP und REST

 

Datenbankzugriff mit JDBC

● Relationale Datenbanken und SQL

● Datenbanktreiber, JDBC-API

● Eine Beispielverbindung, SQL-Anweisungen ausführen

● DriverManager, ResultSet

● Transaktionen

● DataSource

● Das DAO-Pattern

● Arbeitsweise von OR-Mappern

 

XML-Verarbeitung mit Java

● 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

● Java Message Service (JMS)


Reflection und Annotationen

Meta-Programmierung

● Class-Objekte

● Eigenschafen zur Laufzeit auslesen

● Methoden aufrufen

● JavaBeans-Konvention

● Annotationen deklarieren und auswerten

 

Java 9 Modularisierung

  • Einführung in Modularisierung
  • Einführung Java 9 Modulsystem
  • Das modulare SDK
  • Java 9 Modulen Grundlagen
  • Definieren von Modulabhängigkeiten
  • Module zusammenpacken
  • Module kompilieren und ausführen
  • Services einsetzen
  • Laufzeit-Images mit dem JLink Werkzeug erzeugen
  • Modularitätsmustern definieren
  • Das JDeps Werkzeug
  • Module API
  • Migration auf Java 9
  • Testen
  • Integration mit Build Werkzeuge

Wichtige Java 9 Features (außer Modularisierung)

  • Java Shell
  • HTTP/2 Client API
  • Stack Walking
  • Reactive Streams API
  • Multi-Release JAR Dateien
  • Private Methoden in Schnittstellen

 

Werkzeuge

Testen mit JUnit

● Build-Automatisierung mit Ant und Maven

● Bedeutung für Maven: Build-Management, Abhängigkeiten auflösen

● JMX und JConsole, visualvm

● Logging, Log-Auswertung

● Tools zum Einhängen von nativen Bibliotheken, JNI-Wrapper