- Paperback: 346 pages
- Publisher: Addison-Wesley; 2 edition (May 28, 2008)
- Language: English
- ISBN-10: 0321356683
- ISBN-13: 978-0321356680
- Product Dimensions: 7.4 x 0.9 x 9.2 inches
- Shipping Weight: 1.8 pounds (View shipping rates and policies)
- Average Customer Review: 233 customer reviews
- Amazon Best Sellers Rank: #17,586 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Effective Java (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
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 Edition
“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, 2000)
“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 offers.”
—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
From the Back Cover
Are you looking for a deeper understanding of the Java(tm) programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further!Effective Java(tm), 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 moreUpdated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serializationHow to avoid the traps and pitfalls of commonly misunderstood subtleties of the languageFocus 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(tm), Second Edition,presents the most practical, authoritative guidelines available for writing efficient, well-designed programs.
Top customer reviews
If you are concerned about receiving the "fake" version after reading reviews. I want to let you know that I recently ordered this book and I did not receive the "fake" version.
- This is not a cookbook. You will not find template solutions to regular programming problems here.
- This is not a "fun" book. This is not like the Head First books where they have lots of funny stuff to keep you entertained.
- This is not a book for beginners. If you are just starting to learn programming, this will only leave your mind in a very confused state.
- This is not "just a Java book". Although most of the topics described in this book are tightly related to Java's mechanics and implementation details, it has a lot of great teachings that are language agnostic.
That being said, this book is a very deep analysis on many diverse topics, most of them centered on Java's mechanics, language features and most prominent flaws. You can expect, for example, lost of pages explaining how to correctly implement a serializable class or how to clone an object correctly. But you will not only get answers here. Most topics include a very throughout explanation on the logic behind the solutions and the potential pitfalls and risks of failing to follow the suggestions described and even counter-intuitive problems derived from design flaws in the Java language.
I will admit that many of the topics of the books have no practical use unless you have to implement a low level solution from scratch or you are working on a very important project where a design flaw might cause catastrophic failure. Still, I guarantee that anyone who reads this book will find something useful.
There are two books that I strongly recommend for software engineers (especially if you have to use Java but don't like it): this book and Java Concurrency in Practice. Everything else you need to know can be acquired through an online copy of the Java language spec and a few other links on Oracle's site.
This is not for a beginner. But if you done some Java programmer and have the basic language syntax down, this text will take you to the next level. A lot of useful information. I'm not surprised it's in a second edition!