Since
this Jolt-award winning classic was last updated in 2008, the Java
programming environment has changed dramatically. Java 7 and Java 8
introduced new features and functions including, forEach() method in
Iterable interface, default and static methods in Interfaces, Functional
Interfaces and Lambda Expressions, Java Stream API for Bulk Data
Operations on Collections, Java Time API, Collection API improvements,
Concurrency API improvements, and Java IO improvements.
In this new edition of Effective Java,
Bloch explores new design patterns and language idioms that have been
introduced since the second edition was released in 2008 shortly after
Java SE6, including Lambda, streams, generics and collections, as well
as selected Java 9 features.
As in previous editions, each
chapter consists of several “items” presented in the form of a short,
standalone essay that provides specific advice, insight into Java
platform subtleties, and updated code examples. The comprehensive
descriptions and explanations for each item illuminate what to do, what
not to do, and why.
- Updated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serialization
- How to avoid the traps and pitfalls of commonly misunderstood subtleties of the language
-
Focus on the language and its most fundamental libraries: java.lang,
java.util, and, to a lesser extent, java.util.concurrent and java.io