Buy new:
-44% $19.72
FREE delivery Monday, May 20 on orders shipped by Amazon over $35
Ships from: Amazon
Sold by: CORDER TRADE LLC
$19.72 with 44 percent savings
List Price: $35.47

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
Get Fast, Free Shipping with Amazon Prime FREE Returns
FREE delivery Monday, May 20 on orders shipped by Amazon over $35
Only 1 left in stock - order soon.
$$19.72 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$19.72
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Ships from
Amazon
Returns
30-day easy returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$9.95
Get Fast, Free Shipping with Amazon Prime FREE Returns
100% satisfaction guaranteed. Ships directly from Amazons warehouse with tracking, 24/7 customer service and no-hassle returns. May qualify for free same-day delivery, Prime Two-Day Shipping and/or free standard shipping. 100% satisfaction guaranteed. Ships directly from Amazons warehouse with tracking, 24/7 customer service and no-hassle returns. May qualify for free same-day delivery, Prime Two-Day Shipping and/or free standard shipping. See less
FREE delivery Monday, May 20 on orders shipped by Amazon over $35
Only 1 left in stock - order soon.
$$19.72 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$19.72
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Something went wrong. Please try your request again later.

Effective Java (2nd Edition) 2nd Edition

4.6 4.6 out of 5 stars 664 ratings

There is a newer edition of this item:

Effective Java
$43.99
(1,514)
In Stock
{"desktop_buybox_group_1":[{"displayPrice":"$19.72","priceAmount":19.72,"currencySymbol":"$","integerValue":"19","decimalSeparator":".","fractionalValue":"72","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"jJJ93cFDrvR8fFfMF4m%2BWn5jSvOYRlsiZdX3Wkiqow%2F%2B67rq6Dq8wtXXdszEj5RNyozg9A5bQEe0J2WXLjfVndpAawgOxktJc0egnu%2FL8n31OyUrRm9CyTCRBAqRellQlwoo4XynfgxETA0w836K%2B7mXG5Zm7J4qRY13EPM3C4SSrT0mgU0dPA8K1QjoB8Ay","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$9.95","priceAmount":9.95,"currencySymbol":"$","integerValue":"9","decimalSeparator":".","fractionalValue":"95","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"jJJ93cFDrvR8fFfMF4m%2BWn5jSvOYRlsiKqBoGerZfAni4AAx1IltwWL%2FQ9jBvxrW1Kni7sbQ78bfNftQE62LCGa7sbeeqXy1rP%2FjBVBR%2FgCNF6Lq9X0g3lZR%2FD1%2FZ%2B0SDhrHHipoMVz3mp55mCp0q1thwQ7DGzS6xnEyCHFpw9lty71x728XLaVSSpsV4ltY","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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. Highlights include: 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 language 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, well-designed programs.
Read more Read less

Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$19.72
Get it as soon as Monday, May 20
Only 1 left in stock - order soon.
Sold by CORDER TRADE LLC and ships from Amazon Fulfillment.
+
$44.82
Get it as soon as Friday, May 17
In Stock
Ships from and sold by Amazon.com.
+
$43.99
Get it as soon as Friday, May 17
In Stock
Ships from and sold by Amazon.com.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

Review

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

Video Game Review by 1UP.com

1234

Product details

  • Publisher ‏ : ‎ Addison-Wesley; 2nd edition (May 28, 2008)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 346 pages
  • ISBN-10 ‏ : ‎ 0321356683
  • ISBN-13 ‏ : ‎ 978-0321356680
  • Item Weight ‏ : ‎ 1.43 pounds
  • Dimensions ‏ : ‎ 8.5 x 0.83 x 11 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 664 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Joshua Bloch
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Joshua J. Bloch (born August 28, 1961) is a software engineer and a technology author, formerly employed at Sun Microsystems and Google. He led the design and implementation of numerous Java platform features, including the Java Collections Framework, the java.math package, and the assert mechanism. He is the author of the programming guide Effective Java (2001), which won the 2001 Jolt Award, and is a co-author of two other Java books, Java Puzzlers (2005) and Java Concurrency In Practice (2006).

Bloch holds a B.S. in computer science from Columbia University and a Ph.D. in computer science from Carnegie Mellon University. His 1990 thesis was titled A Practical Approach to Replication of Abstract Data Objects and was nominated for the ACM Distinguished Doctoral Dissertation Award.

Bloch has worked as a Senior Systems Designer at Transarc, and later as a Distinguished Engineer at Sun Microsystems. In June 2004 he left Sun and became Chief Java Architect at Google. On August 3, 2012, Bloch announced that he would be leaving Google.

In December 2004, Java Developer's Journal included Bloch in its list of the "Top 40 Software People in the World".

Bloch has proposed the extension of the Java programming language with two features: Concise Instance Creation Expressions (CICE) (coproposed with Bob Lee and Doug Lea) and Automatic Resource Management (ARM) blocks. The combination of CICE and ARM formed one of the three early proposals for adding support for closures to Java. ARM blocks were added to the language in JDK7.

Bloch is currently a faculty member of the Institute for Software Research at Carnegie Mellon University, where he holds the title "Professor of the Practice". In addition to his research, Bloch teaches coursework in Software Engineering.

Bio from Wikipedia, the free encyclopedia.

Customer reviews

4.6 out of 5 stars
4.6 out of 5
664 global ratings

Top reviews from the United States

Reviewed in the United States on September 5, 2008
This book seems to be one of the most critically acclaimed Java titles. What could I possibly add to what has been said? The acclaim is fully deserved. I had the feeling that I already learned something new and important as soon as I reached page twenty. This is something that I cannot say of very many books. Effective Java manages to be extremely useful and simultaneously extremely easy to read. However, "easy" doesn't mean simple in this case, since many of the discussed problems are subtly complex. Some are so complex, in fact, that Java beginners might not fully understand or appreciate them. So, it's probably not a book for beginners. On the other hand, the book is neither esoteric. The 78 items are general Java programming issues which one is likely to encounter in everyday work at some point, regardless of any specific domain. The book is written in a clear and concise language and each problem is exceptionally well reasoned. The author has a very deep understanding of the Java language, which is rather apparent and no surprise, since Joshua Bloch is one of the architects of the Java platform. Incidentally, this also means that the problems are discussed from the perspective of an API designer rather than from the perspective of an application programmer. This is useful, because it is primarily concerned with creating robust and high quality interfaces. Architects, designers, and application programmers benefit likewise from this. The items discussed in this book can probably be described as design and implementation level rationales. They are grouped by Java categories, such as generics, enums, annotations, exceptions, serialisation, as well as by more general concepts, such as object creation, classes and interfaces, methods and concurrency. Many of the individual topics are related; therefore the author makes ample use of cross references, which is helpful for reference use. The included code examples are a joy to read; they are clear, concise, and always illustrative. While discussing the intricacies of the above named topics, Joshua Bloch casually introduces the reader to a good number of commonly used design patterns, many of which are illustrated with code examples. However, design patterns are not themselves formally discussed. The book equips Java programmers with an arsenal of relevant best practices, from comparatively simple things such as creating objects, implementing "equals()" and "hashCode()" methods to more advanced topics, such as concurrency, mutability, and thread safety. In doing so, Joshua Bloch points out quite a few quirks and peculiarities of the Java language, and he does not only point them out, but explains their practical consequences in detail. Thus, the book has great didactic value, as the reader will end up with a higher level of familiarity with the language. Reading this book is time well invested for any Java programmer.
3 people found this helpful
Report
Reviewed in the United States on October 2, 2023
There is a newer edition out. I have found the material in the book to be extremely valuable and find myself going back to it fairly often to refresh my memory or issues discussed in the book.
Highly recommend for both beginners and more advanced programmers.
Reviewed in the United States on December 23, 2013
This book is one of the highest rated Java books in existence. The main reason that I chose to read this book is because one of my colleagues highly recommended it. Needless to say, I have to jump on the bandwagon and join in with all of the hoopla and praise that’s associated with this book. It is simply fantastic on several latitudes. This includes but is not limited to the scope, depth, and writing style of this piece of work . The concepts are presented in bite-sized items which often cross reference one another. These chunks are then grouped into chapters for broader topics such as “Generics”, “Exceptions” and “Enums and Annotations” just to name a few. All items are presented in a practical manner that will help real developers on the job immediately. You’ll go to work the next day and be able to quickly identify code that should be improved by applying the principles in this book. Included code samples are clear, concise and contain comments that highlight the relevant parts of the code. Every item is gold and the constant supply will have you reading it from cover to cover with little interruption.

It should be of no surprise that this book is not for beginners. In fact, I would argue that it’s targeted to advanced Java developers looking to obtain “Expert” status. (“Guru” status come after one reads both the Java and JVM specifications in their entirety and grow a worthy beard). If you’re a curious Java developer looking for some of the more interesting aspects of the language or a Java veteran determined to take your understanding to the next level, Effective Java is the book you need to have.
2 people found this helpful
Report
Reviewed in the United States on March 29, 2013
I'll start this review telling you what this book is not:
- 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.
2 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Oliver Kolle
5.0 out of 5 stars Sehr guter, aber teilweise schwerer Stoff
Reviewed in Germany on November 19, 2021
Ich spreche für die 2. Edition. Berechtigterweise erscheint das Buch stets in "Java books you must read"-Listen. Es kennt die grundlegenden Neuerungen von Java 5. (Erst die 3. Edition kennt die weitreichenden Spracherweiterungen, die mit Java 8 kamen)
Das Buch behandelt eigentlich nur die Grundlagen der Sprache und nebenbei einige Patterns, geht dabei aber mehr in die Tiefe als man das von normalen Lehrbüchern gewohnt ist. Daher ist das Buch nichts für Anfänger oder Leute mit nur etwas Java-Erfahrung. Die Texte verwenden teils anspruchsvolles Englisch. Oft schafft es der Autor mit minimalen Code-Beispielen maximale Verwirrung beim Leser zu stiften. Zum Teil musste ich mich (z.B. Kapitel zu Concurrency und Serialization) durchquälen.
Fazit: Im Buch stehen viele nützliche, empfehlenswerte Sachen, die allerdings durch wiederholtes Lesen und eventuell zusätzliches Nachprogrammieren erarbeitet werden müssen.
Raymundo Morales Callejas
5.0 out of 5 stars Excelente producto mejorar título de venta
Reviewed in Mexico on April 25, 2019
Sinceramente el libro es excelente para reforzar los conocimientos ya adquiridos, lo único es que me gustaría que fueran más específicos en la versión ya que por error compre el de java 6 y yo requería la versión java 9.
Fabiano C. de Oliveira
5.0 out of 5 stars Essencial para qualquer desenvolvedor Java
Reviewed in Brazil on July 27, 2016
Se você é um desenvolvedor Java iniciante ou avançado esse livro é essencial para aprimorar não só suas habilidades e melhor conhecer as boas práticas da plataforma Java, mas primordialmente saber como desenvolver uma API ou sistema mais flexível e seguro.

Eu particularmente indico o livro para quem já tem um bom conhecimento da linguagem e tem um ampla experiência com a plataforma pois as dicas e informações do livro serão melhor entendidas. O autor possui um profundo conhecimento da plataforma e demonstra bons e maus exemplos de programação usando o código fonte do próprio JDK. Isso além de permitir um profundo conhecimento do Java nos permite melhorar o nosso software baseando-se em exemplos claros e fortes.

Outro ponto forte do livro diz respeito a aspectos de segurança. O autor da dicas relevantes para quem deseja publicar uma API de forma flexível e usando técnicas que previnem ou evitam os ataques mais comuns de "hackers" na plataforma Java.

Livro altamente recomendado.
3 people found this helpful
Report
プログラムフロンティア
5.0 out of 5 stars 必読ですね!
Reviewed in Japan on March 10, 2017
これ読まないでJava書いてる人はモグリかも。読まないで同じ境地に行ける人は天才かも
One person found this helpful
Report
Ivan S.
5.0 out of 5 stars Must have for Students
Reviewed in the United Kingdom on June 17, 2014
As my first Java book it did not disappoint. I am currently studying CS at university and everything we have covered usually pops up in this. It is probably not the best book if you are literally just starting how to code in Java but it is a great for learner or a 10 year Java proffesional. The structure is great as it provides great arguments for Bloch's points as well as always trying to mention disadvantages. The book is not biased and teaches you how to write the most proffesional Java, telling you what to use and why you should use it. I am only about a third of the way through it but it has been very helpful along with my university notes.