Major extensions to the language and the JDK
have been added since release 8 of Java - most prominently "Lambdas &
Streams" in Java 8 and the Module System in Java 9.
The new language features include lambda expressions and method references
as well as default and static interface methods. In this seminar
attendants will enjoy in-depth coverage of the lambdas and streams, will
practice their use in hand-on labs, and will gain an overview of the module
system and further recent language extensions.
Mastering lambdas is the prerequisite for successfully using streams.
Streams are an extension to the JDK collection framework. They provide
a functional API for sequential and parallel bulk operations on sequences
of elements. The seminar provides an overview of the stream API from basics
such as filter-map-reduce to advanced operations such as user-defined stream
sources. Attendants will practice the use of streams in numerous
The seminar gives an overview of the Date/Time API, which replaces old
classes such a Date and Calendar.
The most prominent addition to Java 9 is the module system. It
provides an encapsulation mechanism on top of packages. Beginning
with Java 9 the community is encouraged to modularize all application,
libraries and frameworks. The seminar discusses migration strategies,
explains module descriptors, the difference between named, unnamed and
automatic modules, issues with deep reflection, and new tools such as jdeps
Minor extensions were added in Java 10 and 12, namely type inference
for local variables and switch expressions. Java 13 introduces text blocks
as an experimental feature.
Working knowledge of Java; in-depth experience
with Java not required.
Workshops and hands-on labs
This is a course for Java programmers who need an overview of new core
features of since Java 8 and strive for a thorough understanding of the
key features, namely lambdas and streams.
The course is designed to build on existing expertise as Java programmers
and takes the attendants' skills one step further. Prerequisite for these
seminars is at least 1 year of experience with Java or equivalent knowledge.