Java 9 will include many new features beyond just Jigsaw modules, including enhanced method handles, modular application packaging, and dynamic linking capabilities. It may cause some code to break, so developers are encouraged to try it out now rather than later. Java 9 will improve performance in areas like locking, graphics, and hardware usage. Tooling is being updated for Java 9 as well, with IntelliJ IDEA gaining features like automatic module-info generation and JLink artifact support.
2. Safe Harbour
Blah blah, don’t rely on anything I’m saying, I’m
not committing to anything, estimates are hard,
things change, this is just what’s in our head
right now, no promises. OK? kthxbai
18. • Generation of module-info.java
• Syntax support for module-info.java
• Code completion in module-info.java
• Compilation of multi-module projects
• Quick fixes to add requires statements
IntelliJ IDEA 2017.1
19. • Automatic generation of module-info.java
• IntelliJ IDEA module structure recognised on
import
• JLink artifacts
IntelliJ IDEA 2017.?
20. We’d Love Your Help
https://youtrack.jetbrains.com/issue/IDEA-
154240
Also, everything I’m going to demo is early access
Java 9 is coming!
Hiding internal APIs
Affecting libraries I use
Firstly, show IntelliJ working perfectly fine with JDK 9
Show “sense” at the Java 8 level compiling with Java 9
Will have some missing pieces
Can’t use underscores
THIS SECTION IS ABOUT ERRORS THAT MIGHT NOW BE IN YOUR CODE
I’m using 160
Whole bunch of notes to help you out with adopting Java 9
Defaults (GC) changing, validation being added, tools removed, internal APIs being hidden, logging messages changing
Caveat: modules must be defined in corresponding IntelliJ modules
Caveat: dependencies in IDEA modules must match Requires statements (there are quick fixes for this)
Support is for the EA downloads, not the –jigsaw ones
From version ??
Circular dependencies not supported right now
This section is about taking advantage of new features
IntelliJ supports, no warnings or errors
Oxymoron
Annotation params
No warning on imports
Wish the param had been called “doomed”
Reactive Streams
Completable Future
https://youtrack.jetbrains.com/issue/IDEA-161611
Please do give us feedback
https://youtrack.jetbrains.com/issue/IDEA-161611
Please do give us feedback
Currently a work in Progress
Can generate inside IntelliJ with…
-html5
Including camel case search
http://download.java.net/java/jdk9/docs/api/overview-summary.html