Image from Amazon Title: Java in a Nutshell: A Desktop Quick Reference
Author(s):Ben Evans and David Flanagan
Amazon wrote:This updated edition of Java in a Nutshell not only helps experienced Java programmers get the most out of Java versions 9 through 11, it’s also a learning path for new developers. Chock full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on Java Concurrency Utilities.
The book’s first section provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform. The second section is a reference to core concepts and APIs that explains how to perform real programming work in the Java environment.
“Java in a Nutshell” has been updated for Java 11. It has everything you'd expect from the prior editions – syntax, examples and a great reference. New features from Java 8+ are highlighted. Some design patterns and tradeoffs are explained. A lot of concepts, like garbage collection, are covered as well.
I particularly liked the examples of common methods. There were a few in Collections that I could use and didn't realize existed. I also learned about a trick to with var and anonymous inner classes (that I hope not to see in real code). And of course, I like that big O notation was used in discussing collections. Many new features were covered well including method handles and modules.
A number of garbage collectors were discussed. I was surprised the g1 garbage collector didn't get more attention. It was well explained but didn't have a section header. I was also surprised to see an appendix that covered Nashorn since it a deprecated feature.
Overall, this is a great book and I recommend it for your Java learning/reference.