Overview over java9

Java 9 had released at September 2017. On this post you will found a global overview of the changes, and some useful links.

Complete change log - from Oracle

Minor changes

  • A new tool the jsheel - “interactive command-line interface for evaluating declarations, statements, and expressions of the Java programming language.”
  • Support private interface methods
  • Complete the removal, begun in Java SE 8, of the underscore from the set of legal identifier names.

    • That means we currently could create a variable with name ’_’ ?
  • Collection methods: Set.of(...), List.of(...), Map.of(...) doc here
  • Concurrency updates: An interoperable publish-subscribe framework, enhancements to theCompletableFuture API, and various other improvements.

Big news: Jigsaw

The project jigsaw have arrived with native java modularization

Jigsaw 32min video

  • Advantages of jigsaw: “With Jigsaw I hope to restrict access to the modules so that only one or two classes are accessible outside module which will make the code more maintainable”
  • The jigsaw doesn’t support versioning, It will not replace maven or sbt.
  • For sbt users like me, we must wait to see what integration sbt will create for jigsaw (ticket)

Note that is possible to use java9 without noticing jigsaw, java will create a monolithic ‘unamed module’ for retro-compatibility,

Thank you for your attention