Effective Java (2nd Edition)

 
5.0 based on 36 reviews.

Media:

Paperback Book, 384 pages

Our Price:

$48.48

List Price:

$54.99

You Save:

$6.51 (11.84 %)

Product Description

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 sa

Product Details

  • Media: Paperback Book, 384 pages
  • Publisher: Prentice Hall PTR (May 28, 2008)
  • Edition: 2
  • ISBN-10: 0321356683
  • ISBN-13: 9780321356680
  • Dimensions: 7.5 x 8.8 x 0.9 inches
  • Shipping Weight: 1.65 lbs
  • Note: Some of this information came from Amazon.com

You're Getting a Fair Price on the Books You Want

Some customers tell us we're the best bookstore on the Web, but we're not the only one. We show you other bookstores' prices so you know you're getting a fair price. Amazon sells this book for $39.46 including shipping. Usually ships in 24 hours.

Customers who bought this item also bought

$41.98 new

Java Concurrency in Practice
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea

"I was fortunate indeed to have worked with a fantastic team on the de...

$35.98 new

Java(TM) Puzzlers
Joshua Bloch, Neal Gafter

"Every programming language has its quirks. This lively book reveals o...

$25.48 new

Java Generics and Collections
Maurice Naftalin, Philip Wadler

This comprehensive guide shows you how to master the most important c...

Customer Reviews

  • Rating A powerful update to an already-classic title  May 16, 2008 (37 of 37 found this helpful)

    Please see my review of the first edition for my general response. My opinion hasn't changed with the second, so I'll focus on what's new in this review.

    The second edition was well worth the wait. The number of items are beefed up to 78 from 57. The chapter "Substitutes for C Constructs" is gone, but replaced by more contemporary material on "Generics" and "Enums and Annotations." Some first edition items have been amended to address features new to Java since the first edition was released. Some new items also address concurrency, favoring it over traditional Java threads. As expected, the cases for each item are methodically and persuaisvely made. If you are particularly interested in concurrency, also consider Java Concurrency in Practice.

    The item discussions use boldface liberally to highlight key points, sometimes calling attention to arguments in the first edition that have been updated. If you're skimming -- the author in fact doesn't encourage cover-to-cover reading -- these highlights are useful attractors to important material you might otherwise gloss.

    It's often helpful to have practices or insights you've earned on your own backed up by a reputable authority. Effective Java certainly helps with that. More importantly, the arguments that support his items are clear, easy to read, and compelling. Anyone proficient with Java would have to go a long way to find fault with them. In fact, it took considerable investigation to determine that one item from the first edition -- "Provide a readResolve method when necessary" -- was not the best advice for some cases. Bloch addresses that issue head-on in this edition, and provides its replacement ("For instance control, prefer enum types to readResolve").

    As with the first edition, this one is a necessity for any serious Java developer.

  • Rating Simply a great book!  Jul 1, 2008 (14 of 15 found this helpful)

    Effective Java, Second Edition by Joshua Bloch is certainly the best Java book I have read in a long time. As a disclaimer, I never read the first edition and I am thus unable to compare the two editions. Effective Java, Second Edition is a mostly easy and fun read providing you with many insights and best practices on how to use Java effectively. It certainly is not a book for the beginner just starting out learning Java. For that purpose you may want to take a look at Thinking in Java by Bruce Eckel instead. Nevertheless, Effective Java would serve as an excellent follow-up.

    In Effective Java, Joshua Bloch does a great job describing best practices that you as developer will find useful on a daily basis. For example, I really found his description of the builder pattern (Item 2, page 11) quite interesting. Another Item that fascinated me, was Item 15 (page 73) - "Minimize mutability". Both items are part of a broader theme throughout the book that promotes creating code that is as immutable as possible. In that regard, reading the book will enable you to simply write better and safer code. The book also leads the way towards promoting functional programming techniques which will come in quite handily when developing multithreaded applications. Therefore, as a next book I may recommend reading Java Concurrency in Practice by Brian Goetz.

    Even for the experienced Java developer, Effective Java contains quite a few little eye openers. I for example was previously unaware of how static factory methods can simplify the creation of parameterized type instances using "type inference". This is described on page 9 (Item 1). In the past I had always used something like this:

    List users = new ArrayList();

    But by using a static factory method you can do:

    List users = Helper.newArrayList();

    I thought that this was a pretty nifty example that may help making code a bit cleaner. What I also very much liked about Effective Java was that Joshua points out certain short-comings of the Java language itself and its APIs whenever applicable. For example, page 64 describes the inconsistent behavior between BigDecimal's 'equals' method and its 'compareTo' method, and in item 41 (page 194) Joshua details the shortcomings of the List interface when using Autoboxing.

    While the vast majority of the book was very easy to read and to understand, I found that the chapter about bounded wildcards using generics (item 28) was a little difficult to grasp and I wished it were a bit more extensive. On the other side, the provided mnemonic is quite helpful: PECS - Producer-extends, Consumer-super.

    Overall, I highly recommend Effective Java, Second Edition which will continue to serve me, and likely you too, as an excellent reference resource.

  • Rating A must read book  May 21, 2008 (16 of 18 found this helpful)

    If you are not too busy at work it probably worth stop writing code till you finish reading this book.
    Seriously.

    BTW Don't be tempted to save and buy a cheaper first edition.
    The second edition has some very important changes and new information.

  • Rating it managed to get better  Jun 12, 2008 (7 of 7 found this helpful)

    The second edition of "Effective Java" is almost like a completely different book from the first. There were new chapters addressing Java 5 topics such as generics, enums and autoboxing. Existing patterns were rewritten for Java 5/6 - both conceptually and for the code examples. For example, overloading now address varargs. The number of items grew from 57 to 78 as well and the author removed the old ones that are obsolete.

    As a reference, chapter one provided a table to quickly find items on Java 5. The appendix provided a cross mapping to find items from the first edition in this copy.

    For those new to "Effective Java", it is meant for intermediate to advanced Java developers. It provides best practices, recipes and idioms for working with Java. The author is good about listing both advantages and disadvantages to choose when to apply a tip.

    When thinking about my favorite chapter, I have trouble picking just one. I'm torn between the concurrency and enum chapters. The book goes beyond the common "use enums over constants" and goes into things like EnumBitSets.

    I learned a lot reading the first edition of this book and learned just as much reading the second. If you have the first edition, but this one anyway. And if you haven't read the first edition, get your hands on the latest copy!

  • Rating Taught this old dog new tricks  Aug 12, 2008 (4 of 4 found this helpful)

    I've been programming Java since 1995 and sometimes think I know everything I need to know about working with the language. "Effective Java" made me realize that there's always much, much more to learn.

    This book is packed with incredibly useful information that every single Java developer should know. The best part is that Bloch is not proposing any kind of radical new programming method, he is simply organizing and presenting tried and true Java programming patterns and idioms.

    I can't count how many times I've said, "Of course, it is so obvious! Why didn't I think of that?" when I was reading this book. The items presented are things you may know, or half-know, and all it takes is the proper presentation and explanation to completely "ice" things in your mind. The best part is starting a new project after reading "Effective Java" and getting to try out all the good stuff in your own code.

    I bought the First Edition seven years ago and am so happy the Second Edition is finally here. It is well worth the wait. If you develop in Java in any capacity -- get this book!

Product Categories

Place Order



$48.48
(New, Paperback)

Already Own It?

We're paying $4.88 for this book and accepting donations to support non-profit literacy partners.

 
Family Literacy Special

Staff Picks

taff picks: New and used, from best-selling titles to best-kept secrets out of the corners of our warehouse, Better World employees share what’s on their night table. > View More Staff Picks (rss)

John's Pick

Hyperion
Dan Simmons

A Hugo Award-winning sci-fi classic, this is a must read if you have a sci-fi...