menu Navigation
Haben Sie Fragen?
Monika Günther
Kundenbetreuung
+49 (40) 414250-26

Effective JavaEffective Java

Termine

-
4 Tage in Hamburg
€ 2.540,00
Früh­bucherpreis € 2.159,00 noch für 4 Plätze
Alle Preise zzgl. MwSt

Seminarbeschreibung

Was ist der Unterschied zwischen dem Kennen und Können einer Programmiersprache? Eine neue Spracheigenschaft zu erlernen (das Kennen) ist relativ einfach, aber zu verstehen, wie man die Eigenschaft effektiv benutzt (das Können), ist ganz etwas anderes.

In diesem Seminar lernen die Teilnehmer die Programmierung in Java und nicht nur die Programmiersprache Java. Es wird vorausgesetzt, dass die Teilnehmer bereits erste Berührung mit Java hatten und ein grundlegendes Verständnis der Sprache mitbringen, so wie es durch das Studium eines Java-Tutorials erworben werden kann.

Das Seminar baut auf diese Grundkenntnisse auf, steigt tiefer in scheinbar alltägliche Sprachmittel ein und arbeitet sich zu weniger geläufigen, fortgeschritteneren Java-Spracheigenschaften 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 Sprachmittel wie Inner Classes, Reflection, und Weak References an, die man nicht täglich braucht, die aber den Horizont erweitern und dem Entwickler Möglichkeiten für die Problemlösung eröffnen, die ohne die Beschäftigung mit den betreffenden Sprachmittel gar nicht in Erwägung gezogen würden.

Dieses Seminar richtet sich an professionelle Programmierer, die Java tiefgehender erforschen möchten und über das Grundwissen hinausgehen möchten. Ziel des Seminars ist die Vermittlung von fundiertem Praxiswissen für die industrielle Java-Programmierung.

 

Angelika Langer
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.
Ihre Kernkompetenzen liegen in der fortgeschrittenen C++- und Java-Programmierung.

Inhalt

Construction and Finalization

  • Construction & Initialization
  • Finalization & Automatic Resource Management

Object Infrastructur

  • 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

Function Redefinition & Overload Resolution

  • Function Redefinition (final + polymorphism)
  • Principles of Method Overload Resolution
  • Pitfall: Mixing Overloading and Overriding

Inner Classes

  • Nested, Member, Local and Anonymous Classes
  • Idioms for Use of Inner Classes

Generic and Parameterized Types and Methods

  • Syntax and Byte Code Representation (Type Erasure)
  • Wildcards
  • Raw Types and Compatibility

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

Enumeration Types

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

Minor „New“ Language Features

    Java 5

  • Autoboxing and Related Pitfalls
  • Variable Argument Lists and Related Pitfalls
    Java 7

  • Improved Type Inference aka „Diamond Operator“
  • Varargs Warnings
  • Improved re-throw & Multi-Catch
  • Automatic Resource Management
  • Strings in Switch
  • Numeric Literals
    Java 8

  • Default Interface Methods
  • Static Interface Methods

Serialization

  • Default Serialization
  • Custom Serialization
  • Object Stream Support

Class Loading

  • Class Loader Basics
  • Custom Class Loader

Voraussetzungen

Keine


Seminarzeiten & Anfahrt

Das Seminar beginnt am ersten Seminartag um 09:30 Uhr und endet am letzten Seminartag in der Regel gegen 16:00 Uhr.

Unsere Seminare in Hamburg finden im Schulterblatt 36 / Montblanc Kontorhaus in unserem oose.campus statt.

Übernachtungs- und Reisekosten sind nicht enthalten. Sie können unsere kleine, aber feine Hotel-Auswahl unter Hotelbuchung ansehen und unter Angabe des Stichwortes „oose“ direkt reservieren.

Inklusive

  • Mittagessen, Kaffee, Tee, Kaltgetränke, Gebäck und frisches Obst.
  • Dieses Seminar können Sie bis zu zwei mal kostenlos wiederholen (siehe AGB)

Rabatte

  • Frühbucherpreis

    90 Tage im Voraus ohne Rücktrittsmöglichkeit verbindlich buchen (nicht mit anderen Rabatten kombinierbar).

  • Kollegenrabatt

    Wenn Sie sich zu einem zeitgleichen Seminar anmelden, zu dem sich bereits Ihr Kollege angemeldet hat, gewähren wir Ihnen einen Rabatt von 20% (nicht mit anderen Rabatten kombinierbar). Der Erstanmelder kann andere Rabatte nutzen.

  • Privatpersonen

    Studenten und Privatpersonen erhalten Sonderkonditionen.

    Bitte erfragen Sie diese telefonisch!

Wir kommen zu Ihnen!

Sie können dieses Seminar auch als firmeninterne Schulung (Kundenseminar) buchen. In diesem Fall kommen unsere TrainerInnen entweder zu Ihnen ins Haus oder das Seminar findet in unseren Räumen bzw. einem externen Seminarhaus statt.

Kontaktieren Sie uns und vereinbaren Sie einen individuellen Termin!