Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$52.24$52.24
FREE delivery:
Thursday, Feb 15
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $36.46
Other Sellers on Amazon
& FREE Shipping
61% positive over last 12 months
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.
Effective Java 3rd Edition
Explore your book, then jump right back to where you left off with Page Flip.
View high quality images that let you zoom in to take a closer look.
Enjoy features only possible in digital – start reading right away, carry your library with you, adjust the font, create shareable notes and highlights, and more.
Discover additional details about the events, people, and places in your book, with Wikipedia integration.
Purchase options and add-ons
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed dramatically. Java 7 and Java 8 introduced new features and functions including, forEach() method in Iterable interface, default and static methods in Interfaces, Functional Interfaces and Lambda Expressions, Java Stream API for Bulk Data Operations on Collections, Java Time API, Collection API improvements, Concurrency API improvements, and Java IO improvements.
In this new edition of Effective Java, Bloch explores new design patterns and language idioms that have been introduced since the second edition was released in 2008 shortly after Java SE6, including Lambda, streams, generics and collections, as well as selected Java 9 features.
As in previous editions, each chapter consists of several “items” 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.
- 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
About the Author
- ISBN-100134685997
- ISBN-13978-0134685991
- Edition3rd
- Publication dateDecember 27, 2017
- LanguageEnglish
- Dimensions7.4 x 0.9 x 9 inches
- Print length416 pages
Frequently bought together

More items to explore
One advantage of static factory methods is that, unlike constructors, they have names.Highlighted by 734 Kindle readers
A third advantage of static factory methods is that, unlike constructors, they can return an object of any subtype of their return type.Highlighted by 711 Kindle readers
A second shortcoming of static factory methods is that they are hard for programmers to find.Highlighted by 416 Kindle readers
From the Publisher
The #1 Book on Java Programming, Most Recommended by Java Programmers
"The book is supremely readable: the style is concise and clear, and the code examples are short and to the point. As a result, Effective Java is a pleasant volume to read through from beginning to end—learning to refine your coding skills as you go. It is one of the very few books I recommend without reservation to all Java programmers who are past the beginner stage." — Andrew Binstock, Java Magazine
"Joshua Bloch does an amazing job explaining best practices and providing detailed insights into how and when to use the different Java features. Effective Java is a must-read for every professional Java developer." — Thorben Janssen
"I’ve been using Java for almost a year now and this book definitely enhanced my understanding on the language and how to use its features more efficiently." — Lucas Pavesi Da Cruz
Product details
- Publisher : Addison-Wesley Professional; 3rd edition (December 27, 2017)
- Language : English
- Paperback : 416 pages
- ISBN-10 : 0134685997
- ISBN-13 : 978-0134685991
- Item Weight : 1.63 pounds
- Dimensions : 7.4 x 0.9 x 9 inches
- Best Sellers Rank: #40,938 in Books (See Top 100 in Books)
- #2 in Java Programming
- #7 in Computer Programming Languages
- #37 in Professional
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
About the author

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
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviews with images
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The writing is clean and comprehensive. I didn’t feel lost on most topics. I was able to follow along pretty consistently. The ones I did struggle with, I just re-read some parts of the passages and looked up some articles that were a little more introductory to what I was reading.
If anyone is wondering how this book fairs on an e-reader, I read this all through a Kindle and I didn’t see any issues with the examples or text.
Finally, if I had to make just one request, I’d say that a few more examples of bad practices vs the good ones would be awesome just to highlight the issues that a passage addresses.
Amazing book nonetheless!
Sadly, some marketing genius at Amazon decided to enable 'RENT' option on this book by default! Bravo, sir (or madam) - you justified your ridiculous salary.
If you are reading this please make sure you BUY the actual copy of this book and as a consumer you should search for the best deal available (And of course it's not that rent price that Amazon marketing department is teasing you with).
For example:
- Some of the text throughout the book is printed either very heavy (with ink) or very light cause some distortion to the text. It is still readable, just slightly messy.
- Around the middle of the book, one of the pages must have been folded over during the cutting of the book as it left basically a protruding "ear' that I have to leave folded over otherwise it sticks out of the pages. It is somewhat small (about a square inch) so it is not very intrusive.
- There are multiple spelling errors throughout the book and one (major one: "Jave" instead of "Java") on the back cover. This may not be a printing error, but I lumped it in here anyway.
No big deal, but I felt it deserved 4 instead of the full 5 stars.
The book also lets you seen behind the scenes of Java programming in a way you possibly never have before, because Joshua Block is one of the developers behind Java itself, and all the main Oracle supported libraries. As such he can tell you that certain implementations in the standard Java libraries actually violate various best practices (either by accident or because those best practices hadn't emerged at the time of development). Almost always he will note that the problem cannot be fixed due to backward compatibility and has consequences to this day. Very few textbooks actually let you see inside details like this.
No other book I've read gives this kind of insight. And it's not even a hard read.
Some advices are simply a common sense or general knowledge to experienced programmers, some might seem obvious. But if you're like me, and sometimes need an approval from an expert or community to consider some practises or your own discoveries valid and "right", the book definitely solidify your confidence.
There are lots of cross references in almost every chapter to other advices, so use color stickers to mark chapters and find specific advice fast.








