Schulungsübersicht

Einführung in Java

  • Geschichte und Entwicklung von Java
  • Überblick über die Java-Versionen und Aktualisierungen
  • Was ist neu in Java 17
  • Einrichten von Java Development Kit (JDK 17) und IDE

Java Programm-Struktur

  • Schreiben eines einfachen Java Programms
  • Java Überblick über die Syntax
  • Kompilieren und Ausführen von Java Anwendungen

Datentypen und Variablen

  • Primitive Datentypen und Wrapper-Klassen
  • Deklaration von Variablen und Konstanten
  • Typkonvertierung und Casting

Operatoren in Java

  • Arithmetische, relationale, logische und bitweise Operatoren
  • Vorrang und Assoziativität von Operatoren

Kontrollfluss-Anweisungen

  • Bedingte Anweisungen (if-else, switch)
  • Schleifenkonstrukte (for, while, do-while)
  • Erweiterte Switch-Ausdrücke (Java 17 Feature)

Einführung in OOP-Konzepte

  • Klassen und Objekte
  • Kapselung, Vererbung, Polymorphismus und Abstraktion

Erstellen von Klassen und Objekten

  • Deklarieren und Initialisieren von Objekten
  • Das this-Schlüsselwort
  • Konstruktoren (Standard und parametrisiert)

Vererbung

  • Erweitern von Klassen (extends-Schlüsselwort)
  • Methodenüberschreibung und das Schlüsselwort super
  • Abstrakte Klassen und Methoden

Polymorphie

  • Polymorphismus zur Kompilierzeit vs. zur Laufzeit
  • Methodenüberladung und Overriding

Schnittstellen

  • Definition und Implementierung von Schnittstellen
  • Funktionale Schnittstellen und Standardmethoden

Record-Klassen (Java 17 Feature)

  • Das Verständnis von Datensätzen in Java 17
  • Wie Records die Datenkapselung vereinfachen

Generika in Java

  • Verstehen von Typparametern
  • Generische Klassen, Methoden und Schnittstellen
  • Begrenzte Typen und Wildcards

Behandlung von Ausnahmen

  • Arten von Ausnahmen (geprüft und ungeprüft)
  • Try-catch-finally-Blöcke
  • Werfen und Abfangen von Ausnahmen
  • Erstellen eigener Ausnahmen

Java Sammlungen Framework

  • Die Schnittstellen List, Set, Map und Queue
  • Beliebte Implementierungen: ArrayList, HashMap, HashSet
  • Iteratoren und erweiterte for-Schleifen

Lambda Expressions und Funktional Programming

  • Einführung in Lambda-Ausdrücke
  • Syntax und Verwendung
  • Funktionale Schnittstellen

Stream-API

  • Überblick über Java Streams
  • Stream-Operationen (Filtern, Zuordnen, Reduzieren)
  • Parallele Streams und Leistungsüberlegungen

Sealed Classes

  • Definieren und Verwenden von versiegelten Klassen
  • Erlaubte Unterklassen und Einschränkungen

Musterübereinstimmung für instanceof (Java 17 Feature)

  • Vereinfachung von Typüberprüfungen mit Pattern Matching

Textblöcke

  • Arbeiten mit mehrzeiligen Textblöcken in Java
  • Vergleich mit traditioneller String-Behandlung

Datensätze und Serialisierung Verbesserungen

  • Serialisierung und Abwärtskompatibilität
  • Wie Datensätze die Lesbarkeit des Codes und die Wartung verbessern

Auslaufende Funktionen und deren Entfernung

  • Ausgefallene APIs in Java 17
  • Entfernung veralteter Funktionen

Switch Expression Erweiterungen

  • Mustervergleich in switch
  • Verwendung von switch-Ausdrücken für saubereren Code

Fremde Funktion & Speicher-API (Inkubator)

  • Überblick über das Incubator-Modul
  • Arbeiten mit nativem Code in Java

Java Modulsystem (Projekt Jigsaw)

  • Einführung in Module in Java
  • Erstellen und Verwenden von Modulen
  • Moduldeskriptoren und module-info.java
  • Vorteile der Modularisierung

Gleichzeitigkeit und Multithreading

  • Einführung in Threads und Multithreading
  • Runnable-Schnittstelle und Callable-Schnittstelle
  • Synchronisierung, Sperren und Thread-Sicherheit

Asynchron Programming mit CompetableFuture

  • Schreiben von asynchronem Code
  • Verwendung von CompetableFuture für nicht-blockierende Operationen

Bereitstellen von Java Anwendungen

  • Erstellen und Ausführen von JAR-Dateien
  • Verpacken und Verteilen von Java-Anwendungen
  • Einführung in GraalVM (optional)

Best Practices und Code-Optimierung

  • Schreiben von effizientem und wartbarem Java Code
  • Häufige Performance-Fallen und wie man sie vermeidet
  • Code-Refactoring-Techniken

Zusammenfassung und nächste Schritte

Voraussetzungen

  • Grundkenntnisse in der Programmierung

Zielgruppe

  • Software-Entwickler
  • Programmierer
 35 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Kommende Kurse

Verwandte Kategorien