Effective Java

Effective Java

4.49 (6,061 ratings by Goodreads)
By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 2 business days
When will my order arrive?


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
show more

Product details

  • Paperback | 416 pages
  • 189 x 231 x 22mm | 680g
  • Addison-Wesley Educational Publishers Inc
  • New Jersey, United States
  • English
  • 3rd edition
  • 0134685997
  • 9780134685991
  • 6,756

Table of contents

Previous Edition Table of Contents

Chapter 1: Introduction

Chapter 2: Creating and Destroying Objects

Chapter 3: Methods Common to All Objects

Chapter 4: Classes and Interfaces Chapter 5: Generics

Chapter 6: Enums and Annotations

Chapter 7: Methods

Chapter 8: General Programming

Chapter 9: Exceptions

Chapter 10: Concurrency

Chapter 11: Serialization

Appendix: Items Corresponding to First Edition
show more

About Joshua Bloch

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. Normal 0 false false false EN-US X-NONE X-NONE
show more

Rating details

6,061 ratings
4.49 out of 5 stars
5 63% (3,805)
4 27% (1,638)
3 8% (462)
2 2% (110)
1 1% (46)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X