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.
- Get up to speed on language details, including Java 9-11 changes
- Learn object-oriented programming, using basic Java syntax
- Explore generics, enumerations, annotations, and lambda expressions
- Understand basic techniques used in object-oriented design
- Examine concurrency and memory, and how they’re intertwined
- Work with Java collections and handle common data formats
- Delve into Java’s latest I/O APIs, including asynchronous channels
- Become familiar with development tools in OpenJDK
The sixth edition of this book covers Java 8, whereas this edition covers Java 11. However, the release process of Java changed significantly with the advent of Java 9, so this book is released only a year after Java 9 arrived. Java 11 is also the first long-term support (LTS) release of Java since Java 8, so it seems likely that many Java shops will jump straight to Java 11 from Java 8.
With the seventh edition we have tried to update the concept of what it means to be a “Nutshell” guide. The modern Java developer needs to know more than just syntax and APIs. As the Java environment has matured, such topics as concurrency, object-oriented design, memory, and the Java type system have all grown in importance—even among mainstream developers.
In this edition, we have taken the approach that only the most recent versions of Java are likely to be of interest to the majority of Java developers, so we usually only call out when new features arrived if it was with Java 8 or later.
The module system (that arrived with Java 9) is still likely to be new for at least some developers, and it represents a major change.