num_pages: 412
description: Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released) Java has changed dramatically. The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7 8 and 9 also introduced language features such as the try-with-resources statement the diamond operator for generic types default and static methods in interfaces the @SafeVarargs annotation and modules. New library features include pervasive use of functional interfaces and streams the java.time package for manipulating dates and times and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java Bloch updates the work to take advantage of these new language and library features and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice and this book delivers. As in previous editions each chapter consists of several items each 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. Coverage includes:Updated techniques and best practices on classic topics including objects classes methods libraries and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries such as java.lang and java.util 
language: English
title: Effective Java
publisher: Addison-Wesley Professional