Expert Java 8

A 1-day course that turns experienced Java 8 developers into experts on all things Lambdas, Streams, Optionals, and default methods

Java 8 brought a number of new features to the ecosystem. This course distills the experience of years of day-to-day development work with lambda expressions, Stream, Optional, and default methods and conveys it to experienced Java 8 developers who want to master these features. It explains how they changed coding style, where they merely improve development capabilities and where they unlock totally new options. It discusses performance characteristics, good defaults (not to say best practices), and nooks and crannies to look out for.

Every aspect is taught with theoretical introductions, practical exercises, and usage recommendations.

Optionally, we can also look at the improvements Java versions after 8 bring to these language features and APIs.

Audience:
Experienced Java 8 developers who want to master lambda expressions, `Stream`, `Optional`, and default methods
Prerequisite:
Good understanding of Java 8 features
Length:
1 day

Objectives

After completing this course, participants:

  • gained a deeper understanding of lambda expressions, Stream API, default methods and Optional
  • learned about pitfalls, good defaults, and conflicting advice
  • can leverage these features even more effectively to the design of their code

Program

  • improving designs (patterns and APIs) with lambda expressions
  • writing better code and building better APIs with Streams
  • safer use of Streams by avoiding pitfalls and with better exception handling
  • Optionals history and controversy, usage patterns, recommendations, and its Monadic nature
  • conceptual background on default methods, e.g. multiple inheritance and compared to traits, mixins, and abstract classes
  • advanced practical use of default methods with reabstracted methods, explicit calls, and for interface evolution

Upcoming Public Sessions

While I mostly provide these courses in-house, there's the occasional public session that everybody can attend. None are planned now, but if you get in touch, I'll let you know when that changes.