Demonstrates the features that will be available in Java 9. The links below take you to the demo in this project, the JEP responsible for introducing the feature, and to other sources if available.
This article list a lot of the upcoming changes:
Putting everything here will take a while, so you have to be patient. If you can't, check out the JDK 9 page and look through the JEPs. You can read more from me on codefx.org and follow me on Twitter (and even G+, I guess).
The scripts are written for Linux but should look similar on other operating systems. They do three need symlinks, though:
java9
links tojava
in the JDK 9 installjavac9
links tojavac
in the JDK 9 installjar9
links tojar
in the JDK 9 install
Jigsaw is too big to demo here. Check out my blog or this demo project.
- private interface methods (JEP 213)
- try-with-resources on effectively final variables (JEP 213)
- diamond operator for anonymous classes (JEP 213)
@SaveVarargs
on private non-final methods (JEP 213)- no warnings for deprecated imports (JEP 211)
- OS processes (JEP 102)
- multi-resolution images (JEP 251)
- stack walking (JEP 259)
- platform logging (JEP 264)
- reactive streams (JEP 266)
- collection factory methods (instead of collection literals; JEP 269)
- platform-specific desktop features (not supported by my OS so my sample sucks; PRs welcome! JEP 272)
- deserialization filter (targeted for JDK 9 but not yet implemented; JEP 290)
- new version string schema (JEP 223)
- UTF-8 property files (JEP 226)
- reserved stack areas (JEP 270)
- DRGB implementations for
SecureRandom
(JEP 273) - string compaction (JEP 254)
- multi-release JARs: classes and the script (JEP 238)