technologien-programmierung icon Effective Java

⚠️ Die Website befindet sich gerade im Umbau

Wo gehobelt wird, da fallen Späne... wir fegen zwar gerade fleißig durch, aber die Wartungsarbeiten an unserer Website nehmen noch etwas Zeit in Anspruch. Meldet euch gerne unter +49 (40) 414250-0 telefonisch, falls etwas nicht wie gewünscht funktioniert.

Termine

  • {{event.dateString}}
    {{event.location}}
    2.890,00 €
    zzgl. Prüfungsgebühr: {{event.certificationPrice}}
    Termingarantie
    Nur noch {{event.spotsLeft}} Plätze frei!
    Nur noch 1 Platz frei!
    Jetzt anmelden
    Ausgebucht!
  • Mehr Termine anzeigen
Zur Zeit sind leider keine aktuellen Termine vorhanden.

Seminarbeschreibung

Dieses Seminar richtet sich an professionelle Programmierer:innen, die ihre Java-Kenntnisse vertiefen und über das Grundwissen hinausgehen möchten. Ziel des Seminars ist die Vermittlung von fundiertem Praxiswissen für die industrielle Java-Programmierung. Es wird vorausgesetzt, dass die Teilnehmenden bereits erste Berührung mit Java hatten und ein grundlegendes Verständnis von Sprache und JVM mitbringen. Das Seminar baut auf diese Grundkenntnisse auf, steigt tiefer in scheinbar alltägliche Sprachmittel ein und arbeitet sich zu weniger geläufigen, fortgeschritteneren Mitteln der Sprache Java und des JDK vor.

Es werden einerseits Themen wie clone und equals behandelt, die zum täglichen Brot der Java-Programmierung gehören, aber regelmäßig falsch verstanden und inkorrekt implementiert werden. Darüber hinaus sehen wir uns weniger alltägliche Mittel an wie z.B. Reflection, Weak References, Compiler-Plugins und Class Loading. Diese Dinge braucht man nicht täglich, aber sie erweitern den Horizont und eröffnen dem Entwickler Möglichkeiten für die Problemlösung, die ohne die Beschäftigung mit den betreffenden Sprachmittel gar nicht in Erwägung gezogen würden. Außerdem erhalten die Teilnehmenden die Gelegenheit, sich mit "neuen" Sprachmittel und JDK-APIs zu befassen, die im Laufe der Zeit zu Java hinzugekommen sind: die Generics in ihrer gesamten Komplexität inkl. Wildcards (aus Java 5), funktionale Programmiertechniken mit Lambda-Ausdrücken und dem Stream API (aus Java 8), das neue Date/Time API (aus Java 8) und das Modulsystem (aus Java 9).

Natürlich reichen 4 Tage nicht aus, um alle Themen umfassend zu behandeln. In Absprache mit den Teilnehmenden werden Schwerpunkte gesetzt: aus der Fülle der Themen suchen die Teilnehmenden aus, was sie am meisten interessiert. Themen, an denen großen Interesse besteht, werden ausführlich behandelt und in praktischen Übungen vertieft. Themen, die den Teilnehmenden weniger am Herzen liegen, werden nur kurz im Überblick besprochen.

Das Wissen nehmen Sie mit

Zum Vertiefen und Nachlesen nach dem Seminar können die Teilnehmenden auf die Artikelreihe "Effective Java" von Angelika Langer & Klaus Kreft zurückgreifen.

Ihre Trainerin

Angelika Langer arbeitet als unabhängige Trainerin mit eigenem Kursprogramm basierend auf ca. 25 Jahren Erfahrung in der Softwareentwicklung, u.a. in C++ und Java. Sie ist Autorin zahlreicher Fachveröffentlichungen zum Thema Java und C++, darunter die Kolumne "Effective Java" im JavaMagazin, das Online Java Generics FAQ, sowie das Buch "Standard C++ IOStreams". Sie ist Referentin auf internationalen Fachkonferenzen im In- und Ausland. Aktuell liegt ihr Hauptinteresse im Training, Coaching und Mentoring im Bereich der objektorientierten Softwareentwicklung mit C++ und Java.

Inhalt

Construction & Initialization

  • Construction & Initialization
  • Finalization, Cleaner & Automatic Resource Management

 Object Infrastructure

  • Copying Objects (Implementing clone())
  • Object Equality (Implementing equals())
  • Hashing Objects (Implementing hashCode())
  • Comparing Objects (Implementing compareTo())

Immutability

  • final vs. Constness vs. Immutability
  • The Dual Class Idiom

Generics

  • Generic Types & Methods
  • Type Variables
  • Wildcards
  • Type Erasure

Lambdas & Streams

  • An Overview of Lambdas & Method References
  • An Overview of the Stream API

Reflection & Dynamic Proxies

  • An Overview of the Reflecion API
  • Dynamic Proxies

Annotations und Compiler Plugins

  • Declaring Annotation Types
  • Annotating Program Elements
  • Processing Annotations Using Reflection
  • Compiler-Plugins for Annotation Processing

Soft & Weak References

  • Using Weak References to Avoid Unwanted References
  • Using Soft References to Implement Caches
  • Using Phantom References for Cleaning

Enumeration Types

  • Syntax and Byte Code Representation
  • Pitfalls With Static Initialization of Enums

Minor "New" Language Features

Java 5-8

  • Autoboxing and Related Pitfalls
  • Variable Argument Lists and Related Pitfalls
  • „Diamond Operator“
  • Varargs Warnings
  • Improved re-throw & Multi-Catch
  • Automatic Resource Management
  • Strings in Switch
  • Numeric Literals
  • Default & Static Interface Methods

Java 10-18

  • Local Variable Type Inference
  • Switch Expressions
  • Extended instanceof
  • Text Blocks
  • Records
  • Sealed Types
  • Pattern Matching for Switch

Serialization

  • Default Serialization
  • Custom Serialization
  • Object Stream Support

Class Loading

  • Class Loader Basics
  • Custom Class Loader

The Java Platform Module System (JPMS)

  • Module Descriptors
  • Named, Unnamed & Automatic Modules
  • Migration Strategies

Voraussetzungen

Sie sind vertraut mit den Grundlagen von Java und haben mind. 1 Jahr praktische Erfahrung im Einsatz von Java.

Bitte beachten Sie, dass die Kursunterlagen in englischer Sprache sind.

Nachhaltigkeit

Wir stellen uns unserer Verantwortung gegenüber der Umwelt durch nachhaltiges, ganzheitliches Handeln.
So lautet einer unserer Grundwerte bei oose. Für uns bedeutet das, jeden Aspekt unseres Handelns als Unternehmen kritisch zu hinterfragen und auf nachhaltiges Wirtschaften statt auf kurzfristige Gewinne auszurichten. Deshalb ist oose Partner in der UmweltPartnerschaft Hamburg und durch OKÖPROFIT ® zertifiziert.

Fördermöglichkeiten und Bildungsurlaub

Wir sind Mitglied beim Weiterbildung Hamburg e.V.! Informationen dazu, sowie aus welchem Bundesland Sie bei uns Bildungsurlaub bekommen können und welche Fördermöglichkeiten es bei offenen Seminaren gibt finden Sie hier: https://www.oose.de/bildungsurlaub-foerderungen. Bei Interesse wenden Sie sich an info@oose.de

Rabatte

  • Frühbuchende

    90 Tage im Voraus ohne Rücktrittsmöglichkeit verbindlich buchen.

  • Kollegen:innen

    Wenn du mehrere Kolleg:innen aus deinem Unternehmen anmeldest, erhaltet ihr Nachlass.

  • Privatpersonen

    Studierende und Privatpersonen erhalten Sonderkonditionen. Bitte erfragen Sie diese telefonisch!

Firmeninterne Schulung

Du kannst dieses Seminar als firmeninterne Schulung buchen. In diesem Fall führen wir das Seminar als Präsenzseminar bei euch vor Ort oder als Remote-Seminar durch. Kontaktiere mich gerne und vereinbare einen individuellen Termin!

Julia Stede
Julia Stede
Vertrieb & Organisation