Discover Top-Rated Skincare Essentials

Effective Java

3rd Edition
ISBN-13: 978-0134685991, ISBN-10: 0134685997
4.5 on Goodreads
(8,048)
Loading Images...
Double-tap to zoom
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Purchase options and add-ons

Buy New
Ships from: Amazon.com
Sold by: Amazon.com
Shipped & Sold by
Amazon.com
Amazon.com
Shipped & Sold by
Amazon.com
Returns
FREE refund/replacement until Jan 31, 2026
FREE refund/replacement until Jan 31, 2026
For the 2025 holiday season, eligible items purchased between November 1 and December 31, 2025 can be returned until January 31, 2026.
Read full return policy
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
Access codes and supplements are not guaranteed with used items.
Ships from and sold by Seattlegoodwill.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Book details

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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

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.

About the author

Follow authors to get new release updates, plus improved recommendations.
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.

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

From the Publisher

Woman holding Effective Java book

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 information

Publisher Addison-Wesley Professional
Publication date December 27, 2017
Edition 3rd
Language ‎English
Print length 416 pages
ISBN-10 0134685997
ISBN-13 978-0134685991
Item Weight ‎1.5 pounds
Dimensions 7.4 x 0.9 x 9 inches
Best Sellers Rank