The most prominent feature of Java 9 is the
long awaited module system. It provides a safe encapsulation mechanism
on top of packages and supports specification of import / export relations
among modules.
The seminar explains all language features for using and defining modules,
such as module descriptors and various directives such as
exports
,
requires
,
opens
,
uses
and
provides
. We will discuss the difference between
named, unnamed and automatic modules and the role of the class path and
the module path. We will learn about new tools such as
jdeps
,
jlink
and
jmod
and will explore countless new flags for
compilation and execution such
--add-modules
,
--add-exports
,
--patch-module
,
--illegal-access
and many more.
Beginning with Java 9 the community is encouraged to modularize all
applications, libraries and frameworks in a transition phase that will
take many years to come. The JDK itself is already modular, i.e.
its deployment structure is radically different in Java 9. For instance,
there is no
rt.jar
any more. Plus, the version strings have
changed. Using the new encapsulation facilities, internal JDK packages
have become inaccessible. For projects that pushed Java to the limits
the migration from Java 8 to Java 9 may be quite a challenge. Typical
issues are use of JDK internals, illegal reflective access to private parts,
and split packages.
In this seminar we will address both migration issues and strategies
for modularization. Attendants have plenty of opportunity to practice
and experiment during hands-on labs. |
Prerequisite Courses
and Skills:
|
Working knowledge of Java; in-depth experience
with Java not required. |
Duration:
|
1 day |
Exercises:
|
Workshops and hands-on labs |
This is a course for Java programmers who need an overview of Java's
module system either because the need to migrate from Java 8 to Java 9
and look for information regarding migration issues related to the module
system or because they want to modularize existing components or create
modular applications from scratch.
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. |
|