Préparez-vous à

la modularité
selon Java 9

Official Hashtag

Dramatic intro

Classpath - compile time

Classpath - runtime

Scale Down

Security

Security

Security

Modular JDK

Modular JDK

image/svg+xml rt.jar tools.jar

Modular JDK

modular jdk

Modular JDK

Deprecated JDK modules

modular jdk deprecated

Deprecated JDK modules

image/svg+xml 6 9

Non-standard JDK modules

Non-standard JDK modules

modular jdk internal

Module descriptor

Build module

Run module

dependencies jdk

Modular application

Modular application

modular app

Module descriptor

Export package

Multi-modules layout

Multi-modules layout

Create module

The Jigsaw Sandwich

Jigsaw Sandwich

The Jigsaw Sandwich

modular app version

Create module

image/svg+xml fr.sw.img.web fr.sw.img.db fr.sw.img.inmemory fr.sw.img.service fr.sw.img.data fr.sw.common.*

Encapsulation

Visibility

Visibility

Visibility

Split package

Package Split

Regular export

Restricted export

sun.misc.Unsafe

New internal unsafe API
(hidden)
Keep sun.misc in 9,
remove features when
public replacement APIs exist

Deep reflection

Deep reflection

Module dependency

Transitive dependency

modular app transitive

Transitive dependency

Static dependency

Plain old jar

Plain old jar

Plain old jar

Automatic Module

Automatic Module

Mixed mode

Mixed mode

Module Service

Interface / Implementations

Interface / Implementations

User / Provider

Usage

Running on Java 9

dead unicorn

Big kill switch

This option will only be supported in JDK 9.
It will be removed in JDK 10.

Command line java / javac

Command line java / javac

jdeps

Tests

Test module

Test module

Test module

Test module

Test module

Test module

Single module

Single module

Single module

Single module

Single module

Going Native

bob tp bw

Minimal VM

Ahead Of Time compilation

experimental feature !

Ahead Of Time compilation

experimental feature !

Benchmarks

benchmark run

Benchmarks

benchmark size

Conclusion

Jigsaw Goals

Jigsaw Goals

Jigsaw Goals

Jigsaw Goals

Jigsaw Goals

  • Reliable configuration
  • Scale down the platform
  • Strong encapsulation
  • Closed World

Planning

Questions ?

Références

Références

Merci