Java is on a fast-paced development schedule that brings with it improved design capabilities and enhancements for application security. Learn about the changes to Java, from version 9 to 19, and apply new features to build enterprise applications faster and with fewer errors. Get up to speed on how to make your code concise, expressive, and less error prone, and create better OO programs with the newest features. Modularize and create asynchronous applications with ease and proper error handling. This book contains twelve chapters that dive deep into the features, using plenty of examples for you to practice along with. Java is changing quickly - don't be left behind. This book will keep you up to date on the amazing capabilities of the Java language introduced between versions 9 and 19. Whether you are using Java 8 or one of the newer versions of Java, this book will serve as your practical guide to explore and apply the features in these versions of Java. Learn to properly use type inference and avoid its pitfalls. Use text blocks to write elegant multiline strings and embed XML and JSON documents in code. Design better OO code with records and sealed classes, and along the way, learn proper ways to apply these new ideas. Reduce verbosity and hidden errors in code using switch expressions and pattern matching syntax. Take your upgrade journey further by modularizing your Java code, to make it more secure and manage dependencies clearly. Leverage those capabilities to more easily and dynamically discover services. Learn to create highly performant and resilient asynchronous applications, using the brand new virtual threads (fibers) and structured concurrency. Don't tolerate clumsy old Java code; instead, benefit from the significant changes to the language in versions 9 through 19. What You To make use of all the features in this book, you'll need at least Java 19.
Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. He is a frequent invited speaker at international software conferences and user groups. He's author of .NET Gotchas (O'Reilly), coauthor of the 2007 Jolt Productivity award-winning book Practices of an Agile Developer (Pragmatic Bookshelf), and author of Programming Groovy (Pragmatic Bookshelf).
Long-story short: - generally Venkat delivers what he promised - it's a collection of chapters/essays on some of the additions in the most recent versions of Java; not ALL of them, just the ones Venkat finds the most important - the overall writing quality is very good - you've got everything what you need: rationale, examples, practical considerations - the choice of topics is ... OK-ish and rather not-controversial, but it's quality over quantity, so it's absolutely possible that if you're not interested in these particular changes, you'll find the whole book (or at least big part of it) not really interesting - the most useful chapters (IMHO) were: two on modularizing (except ServiceLoader), the one on functional pipeline steps (as it was completely new to me) - but generally there are only 11 (yes, ELEVEN!) of them
Unfortunately, "Cruising ..." didn't rock my world. I'm far from being a Java/JVM expert, but the only new stuff I've found here was the last chapter. That's why I can't call this book a-must-read.
The book covers features added in java from version 9 to the present, which happened to be perfect for me, since I last spent much time programming in java was version 8.
The explanations are straight-forward and easy to follow, so it was an easy way to catch up.
My only complaint is that there was no critical examination of the new features, just basically cheerleading for everything. I prefer something in the style of Bloch's Effective Java, which makes recommendations for how to use and not use a feature, as well as pointing out shortcomings in the designs.
I read beta version B4.0 (released March, 2024). It does not include any content for the concurrency and asynchronous programming section, though the rest seems well polished. Looking forward to revisiting when the final release comes out.
While the book is disappointingly thin, Venkat did manage to provide a pretty thorough deep-dive into a handful of interesting newer Java features. I was left wanting more, especially regarding Stream Gatherers; that section really should have been expanded to include more practical examples, instead of regurgitating the Javadoc examples.