Effective Java

Front Cover
Addison-Wesley Professional, Dec 18, 2017 - Computers - 99998 pages

The Definitive Guide to Java Platform Best Practices–Updated for Java 7, 8, and 9

Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers.

As in previous editions, each chapter of Effective Java, Third Edition, consists of several “items,” each presented in the form of a short, stand-alone 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.

The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams.

New coverage includes

  • Functional interfaces, lambda expressions, method references, and streams
  • Default and static methods in interfaces
  • Type inference, including the diamond operator for generic types
  • The @SafeVarargs annotation
  • The try-with-resources statement
  • New library features such as the Optional interface, java.time, and the convenience factory methods for collections


 

What people are saying - Write a review

User Review - Flag as inappropriate

very good book, it teaches the good programming, i only wish it was mandatory during my studies...

Contents

Eliminate obsolete object references
Avoid finalizers and cleaners
Prefer trywithresources to tryfinally
Obey the general contract when overriding equals
Always override hashCode when you override equals
Always override toString
Override clone judiciously
Consider implementing Comparable

Common terms and phrases

About the author (2017)

Joshua Bloch is a professor at Carnegie Mellon University. He was formerly the chief Java architect at Google, a distinguished engineer at Sun Microsystems, and a senior systems designer at Transarc. He led the design and implementation of numerous Java platform features, including the JDK 5.0 language enhancements and the Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University and a B.S. in computer science from Columbia University.

Bibliographic information