Raves for the First Edition!
“I sure wish I had this book ten years ago. Some might think that I don’t need
any Java books, but I need this one.”
–James Gosling, fellow and vice president, Sun Microsystems, Inc.
“An excellent book, crammed with good advice on using the Java programming
language and object-oriented programming in general.”
–Gilad Bracha, coauthor of The Java™ Language Specification, Third
“10/10–anyone aspiring to write good Java code that others will appreciate
reading and maintaining should be required to own a copy of this book. This is
one of those rare books where the information won’t become obsolete with
subsequent releases of the JDK library.”
–Peter Tran, bartender, JavaRanch.com
“The best Java book yet written.... Really great; very readable and eminently
useful. I can’t say enough good things about this book. At JavaOne 2001, James
Gosling said, ‘Go buy this book!’ I’m glad I did, and I couldn’t agree more.”
–Keith Edwards, senior member of research staff, Computer Science Lab at the
Palo Alto Research Center (PARC), and author of Core JINI (Prentice Hall,
“This is a truly excellent book done by the guy who designed several of the
better recent Java platform APIs (including the Collections API).”
–James Clark, technical lead of the XML Working Group during the creation of the
XML 1.0 Recommendation, editor of the XPath and XSLT Recommendations
“Great content. Analogous to Scott Meyers’ classic Effective C++.
If you know the basics of Java, this has to be your next book.”
–Gary K. Evans, OO mentor and consultant, Evanetics, Inc
“Josh Bloch gives great insight into best practices that really can only be
discovered after years of study and experience.”
–Mark Mascolino, software engineer
“This is a superb book. It clearly covers many of the language/platform
subtleties and trickery you need to learn to become a real Java master.”
–Victor Wiewiorowski, vice president development and code quality manager,
ValueCommerce Co., Tokyo, Japan
“I like books that under-promise in their titles and over-deliver in their
contents. This book has 57 items of programming advice that are well chosen.
Each item reveals a clear, deep grasp of the language. Each one illustrates in
simple, practical terms the limits of programming on intuition alone, or taking
the most direct path to a solution without fully understanding what the language
–Michael Ernest, Inkling Research, Inc.
“I don’t find many programming books that make me want to read every
page–this is one of them.”
–Matt Tucker, chief technical officer, Jive Software
“Great how-to resource for the experienced developer.”
–John Zukowski, author of numerous Java technology books
“I picked this book up two weeks ago and can safely say I learned more about
the Java language in three days of reading than I did in three months of study!
An excellent book and a welcome addition to my Java library.”
–Jane Griscti, I/T advisory specialist
Are you looking for a deeper understanding of the Java™ programming language so
that you can write code that is clearer, more correct, more robust, and more
reusable? Look no further! Effective Java™, Second Edition, brings
together seventy-eight indispensable programmer’s rules of thumb: working,
best-practice solutions for the programming challenges you encounter every day.
This highly anticipated new edition of the classic, Jolt Award-winning work has
been thoroughly updated to cover Java SE 5 and Java SE 6 features
introduced since the first edition. Bloch explores new design patterns and
language idioms, showing you how to make the most of features ranging from
generics to enums, annotations to autoboxing.
Each chapter in the book consists of several “items” presented in the form of a
short, standalone essay that provides specific advice, insight into Java
platform subtleties, and outstanding code examples. The comprehensive
descriptions and explanations for each item illuminate what to do, what not to
do, and why.
New coverage of generics, enums, annotations, autoboxing, the for-each loop,
varargs, concurrency utilities, and much more
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
Focus on the language and its most fundamental libraries: java.lang,
java.util, and, to a lesser extent, java.util.concurrent and java.io
Simply put, Effective Java™, Second Edition, presents the most
practical, authoritative guidelines available for writing efficient,
About the Author
Joshua Bloch is chief Java architect at Google and a Jolt Award winner.
He was previously a distinguished engineer at Sun Microsystems and a senior
systems designer at Transarc. Bloch led the design and implementation of
numerous Java platform features, including JDK 5.0 language enhancements and the
award-winning Java Collections Framework. He coauthored Java™ Puzzlers
(Addison-Wesley, 2005) and Java™ Concurrency in Practice (Addison-Wesley,