Java 21 Grundkurs
Nächste Termine:
KW 8, Montag 19. - Freitag 23.02.2024
Ganztägig.
Diese Schulung vermittelt den Teilnehmern einen kompakten Einstieg in die Grundlagen der professionellen Programmierung mit Java SE 21.
Die Teilnehmer lernen die notwendigen technischen Grundlagen der Programmausführung in der Java Virtual Machine (JVM) kennen und erhalten einen fundierten Überblick über die Merkmale der Programmiersprache Java in der Version 21, die im Herbst 2023 herauskam und nach den Versionen 8, 11 und 17 wieder Long Term Support genießt.
Sie lernen die grundlegenden Klassen für Standardaufgaben aus dem Alltag der Softwareentwicklung kennen. Über die Sprache hinaus wird auch das Umfeld vorgestellt und einbezogen, wie Java heutzutage in Projekten entwickelt wird, z.B. um daraus Container für ein Cloud-Deployment zu erzeugen.
Inhalt
Einführung:
Entstehungsgeschichte
Einordnung gegenüber anderen Programmiersprachen
Unterstützung in IDEs (Eclipse, IntelliJ, Visual Studio Code)
Kurzvorstellung typischer Features
Kompilieren und Ausführen einer Java-Anwendung
Versionierung
Java-Anbieter
Grundelemente:
Datentypen
Variablen und Zuweisung
Typinferenz, neues Schlüsselwort var ab Java 10
Operatoren, Operanden und Ausdrücke
Kontrollstrukturen u.a. switch
Arrays
Verarbeitung von Strings (Zeichenketten)
Annotationen
Javadoc
Objektorientierte Programmierung:
Klassen und Instanzen
Attribute und Properties
Referenzen
Grundlagen klassenbasierter Vererbung
Interfaces
Enumerations
Varianten innerer Klassen
Records
Sealed Klassen
Generics und Collections:
Generische Collections
Das Konzept der Generics in Java
Typ-Inferenz und Typ-Auslöschung (Type Erasure)
Generics und Vererbung (Varianz)
Bequemere Arten der Collectionerzeugung ab Java 9
Immutable Collections
Generische Interfaces, Klassen und Methoden
Sequenced Collections
Funktionale Programmierung mit Lambdas und Streams:
Lambda-Ausdrücke seit Java 8
Syntaxvarianten
Streams
Umgang mit Optionals
Möglichkeit der Parallelverarbeitung
Erzeugung von Streams
Mittlere Operationen
Terminale Operationen z.B. reduce
Ausführlich: Collectors
Fehlerbehandlung:
Grundlegende Konzepte: System-Exceptions und Runtime-Exceptions
Exception-Klassen aus dem Java Runtime Environment (JRE)
Exceptions auslösen
Exceptions fangen und weiter werfen: try, catch und finally
Try-with-resource und das AutoCloseable-Interface
Assertions
Standard-Bibliotheken
Strings und reguläre Ausdrücke
Ein- und Ausgabe, Formatierung
Mathematische Funktionen
Arbeiten mit Dateien
Utilities in Files, Paths
Datum- und Zeit-APIs
Lokalisierung
Leichtgewichtige Threads in Java 21
Structured Concurrency
NetzwerkClient synchron und asynchron
CompletableFuture
Kurzvorstellung: Reactive Streams
Ausführungsmodell
Mitgelieferte Tools z.B. Docgenerierung, Sicht auf Abhängigkeiten
Speicherverwaltung und Garbage Collection
Arbeitsweise der Klassenlader (ClassLoader)
Bau mit Buildtools: Maven und Gradle
Erzeugung von Docker-Containern
Microservices
GraalVM: Native Builds
Das Modulsystem
Vorgeschichte und Einordnung
Realisierung
Abhängigkeiten
Services
Kurze Ausblicke
Hintergrund: Projekte Amber, Loom, Valhalla, Panama
Die Previews in Java 21 (String Templates, ...)
Überblick heutiges Umfeld: Tools für Source Control, CI/CD
Serverseitiger Einsatz mit JakartaEE oder Spring
Einsatz in Cloud z.B. AWS
-
Zielgruppe
Es richtet sich an Entwickler, die bereits Praxiserfahrung mit anderen Sprachen als Java haben.
-
Voraussetzungen
Erfahrung einer modernen Programmiersprache z.B. Python, Javascript, C++, C#
Grundkenntnisse in objektorientierter und in funktionaler Programmierung
-
Dauer
5 Tage.
-
Preis
€ 1.950 zzgl. MwSt.