Top 10 Java 9 Tutorials and Courses — Best of Lot Must Read
A list of useful Java 9 tutorials and courses for Java developers to explore new JDK 9 features
It’s been more than a year since JDK 9 was launched and the new year is probably the best time to learn Java 9 and get yourself familiar with new features and enhancements on existing APIs. The highlight of JDK 9 release was Project Jigsaw or Module system.
The Java 9 Platform Module System allows Java to move forward by modularizing the JDK as well as adding modules as first-class citizens to Java, but that’s not the only thing to look forward, there are many small changes which are very useful in day-to-day coding.
For me the static factory methods introduced in List, Set, and Map to create an immutable list, set and the map is the most interesting one. Along with several changes on Stream API and Optional class. Those are the ones, I will most likely to use as soon as we start with JDK 9.
If you are a regular reader of my blog then you would notice that I haven’t published an article on JDK 9 here yet but I have been learning and doing some research in last a couple of days and this article is the result of that.
Also, when Java 8 was released in 2014, I had published a list of best Java 8 tutorials which many of my readers have appreciated and I thought to the same this time as well
In this article, I am going to share some of the interesting articles, tutorials and online courses which you can use to learn Java 9. These are some of the best resources on JDK 9 at the moment. They are very good to start with and get yourself familiar.
For more deep dive and in-depth knowledge, I suggest picking a good book on Java 9 or joining a course e.g. What’s New in Java 9 — Modules and more is a better option.
List of Must Read Java 9 Tutorials
Anyway, without further Ado, here is the list of the useful tutorial to learn JDK 9 features:
1. Nine New Developer Features in JDK 9
This is one the first article I read to learn about Java 9 features. The article explains two of my favorite features, Factory Methods for Collections (JEP 269) and Stream API Enhancements. If you are interested in those two then you can read more on that article.
Also, this is actually excerpted from the July/August 2017 issue of Java Magazine.
So if you want to learn all 9 feature make sure you read the full article in Java Magazine. You can find the link at the bottom of that article.
2. 9 New Features in Java 9
This is another good list of essential JDK 9 feature on Pluralsight blog by Sander Make, author of Java 9 Modularity: First Look course on PluralSight.
In this article, Sander has gone through 9 of the essential JDK 9 feature which matters most for Java developers.
I particularly liked his example of The Java Platform module system and how modules are linked together in modularized JDK.
The list also covers JShell: the interactive Java REPL, Improved Javadoc, Collection factory methods, Stream API improvements, Private interface methods, HTTP/2, and Multi-release JARs.
3. Code First Java 9 Module System Tutorial
Project Jigsaw or Module system was one of the highlights of JDK 9 release and this is probably the best course to start with that.
The writer is also the author of The Java 9 Module System book, which means you will get a comprehensive overview of authority.
In this tutorial, you will first learn a simple Hello World example and learn how to take an existing demo application and modularize it with Java 9.
You will also learn how to create module declarations ( module-info.java) and use the module path to compile, package, and run the application.
If you want to learn more, Joshua Bloch has also provided a nice overview of JDK 9’s Module system on Item 51 of Effective Java 3rd Edition, one of the must-read books for Java programmers in 2018.
4. First steps with Java 9 and Project Jigsaw
This is another great tutorial to learn Project Jigsaw or JDK 9 Module system.
It’s a two-part tutorial, in the first part you will learn about what is a module and how the Java Runtime was modularized with a demo application that demonstrated how to (and not to) compile, package and run a modular application.
In the second part, he explains how does Jigsaw interoperate with non-modular legacy code and how you can build your own Java runtime images.
In short, very comprehensive coverage of Java 9 Module system with some hands-on advice on how to compile, build and run a modular application in Java 9.
5. What’s New in Java 9 — Modules and More!
This is one of the best course material to learn Java 9 at the moment. You will not only learn about Installation and Setup of JDK 9 but also all important Java 9 features e.g.
- The Java Shell (REPL)
- The Java 9 Platform Module System
- The Streams API
- Private Method in Interfaces
- Factory Methods for Collections
- Try With Resources
- Diamond Operator
- SafeVarargs Annotation
It also covers updates to the Process API, which now allows Java developers to work with native processes directly in Java code. In short, one of the best resource to learn Java 9 in quick time.
6. Java 9 New Features on Baeldung
The Baeldung blog also has a nice overview of most of the useful Java 9 features. It’s not comprehensive but provide a nice overview of what every Java developer should know about Java 9 changes.
It includes both major changes like Project Jigsaw or Module system and Http 2.0 client but also smaller language enhancements like Diamond Operator Extension, provide methods on an interface, Try-with-resource enhancements, and new API enhancements e.g. changes on Optional and Stream API. It also covers Jshell
In short, if you need a quick overview of JDK 9 features then this is a good list to start with. If you need a more comprehensive overview I suggest joining What’s New in Java 9 — Modules and more on Udemy.
7. Java 9 Features with Examples on JournalDev
This is another good list of JDK 9 features with small examples. It includes most of the JDK 9 changes at language and API level along with Module Systems and Factory method enhancements.
Here is a full list of features which is covered in this article:
- Java 9 REPL (JShell)
- Factory Methods for Immutable List, Set, Map, and Map.Entry
- Private methods in Interfaces
- Java 9 Module System
- Process API Improvements
- Try With Resources Improvement
- CompletableFuture API Improvements
- Reactive Streams
- Diamond Operator for Anonymous Inner Class
- Optional Class Improvements
- Stream API Improvements
- Enhanced @Deprecated annotation
- HTTP 2 Client
- Мulti-Resolution Image API
- Miscellaneous Java 9 Features
I really like their short description and short examples. The list is pretty much similar to the previous list and you can refer it if you need a quick overview.
If you need to learn each feature in-depth then you better join this Java 9 course on Udemy, you may get this course in just $9.99 on Udemy’s flash sale.
That’s all about some of the best tutorials and courses to learn Java 9 features. The work on JDK 10 is already started but like me, there are many Java developers out there which are still going through JDK 8 features.
I don’t know if I am going to use module system anytime soon but I am sure, I’ll use the API enchantments e.g. factory methods for creating immutable List, Set, and Map as well as some Stream API enchantments as soon as we move to Java 9.
Other Programming Articles and Resources you may like to explore
10 Things Java Developers Should Learn in 2019
10 Essential Testing Tools for Java Programmers
20 Essential libraries for Java Developers
20 Books Java Programmers Can Read in 2019
10 Everyday tools for Java Programmers
5 Free Courses to Learn Spring and Spring Boot Online
10 Frameworks for Java and Web Developers
Thanks for reading this article so far. If you like these tutorials then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.