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 andOptional
- 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
Stream
s - safer use of
Stream
s by avoiding pitfalls and with better exception handling Optional
s 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.