Top 10 books on Java 9 and modularity: A must-read for every Java developer
Java 9 public updates are officially over, Java 10 is here and Java 11 is almost upon us. But modularity, as introduced in Java 9 is here to stay! And so are the books covering issues related to the Java 9 release. Here is my top 10 list of the books that can offer a solid foundation for working with modularity in Java; a must-read for every Java developer.
Java 10 made its debut last month, after just 6 months since the release of Java 9. The short lifespans of these updates had sparked a lot of discussion around the new features, especially the ones introduced in Java 9, and the risks, obstacles and challenges of migration.
Unlike Java 9, Java 10 does not offer groundbreaking updates, it is rather a fairly minor update to Java 9, as David Heffelfinger argued in our interview series on Java 10. Java 9 was a huge hit with the modularity update thanks to the long-awaited Jigsaw project. The hype around Java 9 and its important features gave birth to a huge wave of book writing on migration issues, exploring the new modularity and so forth.
Alas, this hype was not meant to last and those books were doomed to be forgotten, as Oracle announced the end of public releases for Java 9 after the release of Java 10. Nonetheless, these books offer some great insight on modularity and can be of use to Java developers for further updates as well. As Nicolai Parlog argued during an interview with JAXenter:
I strongly believe that we will live in a modular ecosystem in a couple of years. That will teach the wider Java community a lot about modularity, just as Java 8 taught us about functional programming.
Modularity is here to stay! And we are here to make sure that these books written under the Java 9 hype will not get lost in the graveyard of unloved technologies! So, in this article, I will present my top 10 list with books on Java 9 and the module system.
Covering a wide range of topics from migration concepts, to working examples and, of course, modularity, these books offer a solid foundation for understanding how to work with modularity in Java that can be of significant value in future updates.
1. Mastering Java 9: Write reactive, modular, concurrent, and secure code
By Dr. Edward Lavieri and Peter Verhas
This book offers a very comprehensive approach to all the new features presented in Java 9. It is written in a manner that can accommodate both beginners and advanced Java users. It can either introduce you to the world of Java or help guide you into the age of modularity as an advanced Java developer.
2. Core Java SE 9 for the Impatient (2nd Edition)
By Cay S. Horstmann
Another great choice for both beginner and experienced Java users. This book helps you navigate through possible obstacles and challenges that come with all the changes presented in Java 9 using sample code and the practical insights offered by the highly-experienced author Cay S. Horstmann.
3. Java 9 for Programmers (4th Edition)
By Paul J. Deitel and Harvey Deitel
Contrary to the previously discussed books, this one targets experienced programmers. Using the Deitel signature live-code approach, it explores Java 9 and its APIs in depth. This book provides complete code walkthroughs, syntax shading, code highlighting, program outputs and it includes hundreds of complete Java 9 programs with thousand lines of code. It is a useful advanced tool that can help experience programmers keep in touch with the fundamentals of modularity (and not only) in Java.
4. Java 9 Cookbook
By Mohamed Sanaulla and Nick Samoylov
This book offers over 100 recipes that each addresses a specific problem using a wide range of software development examples in simple and straightforward Java 9 code. Do you have an issue with modulizing your application or with the employment of a certain tool? Just open this book, find the specific recipe that addresses your issue and boom! Done! The practical examples offered in this book can be an effective guide in using modularity in future updates as well.
5. The Java Module System
By Nicolai Parlog
Arguably the best book on how to work with modularity in Java. Honestly, I don’t have a lot more to add to this discussion since it covers pretty much every possible angle in dealing with modularity; from understanding the module system to exploring compatibility issues and migration challenges. This book is the absolute tool for every Java developer and I am most confident that it will be of valuable use for future updates.
6. Java 9 with JShell
By Gastón C. Hillar
The main topics of this book are the techniques in order to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9. The availability of a REPL, known as JShell, makes experiments and prototyping much more straightforward than the old IDE-based project-led approach and this book provides an effective guide to mastering JShell.
7. Java 9 Modularity Revealed. Project Jigsaw and Scalable Java Applications
By Alexandru Jecan
This publication targets experienced Java programmers and aims to explore every aspect of modularity in Java. I have no doubt that this one can be a useful guide moving forward to future updates.
8. Java 9 Modularity. Patterns and Practices for Developing Maintainable Applications
By Paul Bakker and Sander Mak
In the last part of our Java 10 interview series, Markus Eisele recommended this book as a great start into understanding modularity. As he explained:
My impression is that the module topic got some uptick lately which might be an indicator that developers are actually starting to work with it.
This can be an indication of the need for solid and cohesive guides to help developers explore and understand modularity in Java.
9. Java 9 Programming By Example
By Peter Verhas
If you are tired of learning and appreciate the value of practicality, this is the perfect book for you. This publication aims to bridge the gap between “learning” and “doing” by providing real-world examples. It targets beginner developers but, in my opinion, can be of value to experienced developers as well, when you need to have a quick look at the fundamental principles of coding in Java in the age of modularity.
10. Modular Programming in Java 9: Build large scale applications using Java modularity and Project Jigsaw
By Koushik Kothagal
I think the title is self-explanatory. This book provides step-by-step instructions to create new modules, as well as migrate code from earlier versions of Java. Creating module definitions, setting up inter-module dependencies and using the built-in modules from the modular JDK, this book offers a solid base for understanding modularity.
Don’t miss our Java 10 interview series:
- Part 1: 11 experts weigh in — Local-Variable Type Inference is the biggest new feature in Java 10
- Part 2: Java 10 — What do Java developers want? Projects Amber and Valhalla! When do they want them? When they’re ready!
- Part 3: Java 10 migration: Is it a breeze or a tornado?
- Part 4: Java 10 after 9 is fine; Java 10 after 8 (or earlier) be feared
- Part 5: Java experts weigh in on the future of modular Java and reveal what’s on their Java 11 wish list