Welcome to the Cafe Gift Shop

Gifts Books


Effective Java (2nd Edition)

Effective Java (2nd Edition)Author: Joshua Bloch
Publisher: Prentice Hall
Category: Book

List Price: $54.99
Buy New: $39.99
as of 7/31/2010 15:26 MDT details
You Save: $15.00 (27%)



New (30) Used (21) from $39.99

Seller: new_books_today
Rating: 5.0 out of 5 stars 46 reviews
Sales Rank: 4977

Media: Paperback
Edition: 2
Pages: 384
Number Of Items: 1
Shipping Weight (lbs): 1.7
Dimensions (in): 8.8 x 7.5 x 0.9

ISBN: 0321356683
Dewey Decimal Number: 005.71262
EAN: 9780321356680
ASIN: 0321356683

Publication Date: May 28, 2008
Availability: Usually ships in 1-2 business days

Also Available In:

  • Kindle Edition - Effective Java

Accessories:


Similar Items:


Editorial Reviews:

Product Description

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.




Customer Reviews:
Showing reviews 1-5 of 46
1 2 3 4 5 6 ...10Next »



5 out of 5 stars A powerful update to an already-classic title   May 16, 2008
Michael Ernest (Corte Madera, CA)
47 out of 48 found this review 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.



5 out of 5 stars Simply a great book!   July 1, 2008
Gunnar Hillert (Atlanta, GA USA)
23 out of 25 found this review 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.



5 out of 5 stars A must read book   May 21, 2008
Alex Kuznetsov
22 out of 26 found this review 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.



5 out of 5 stars it managed to get better   June 12, 2008
Jeanne Boyarsky (New York, NY)
7 out of 7 found this review 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!



5 out of 5 stars Taught this old dog new tricks   August 12, 2008
C. Longo (New York, NY)
4 out of 4 found this review 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!


Showing reviews 1-5 of 46
1 2 3 4 5 6 ...10Next »


best practices  java  java programming  java reference  programming  
CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON SERVICES LLC. THIS CONTENT IS PROVIDED ‘AS IS’ AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.