|
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: 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:
|
| 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
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.
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.
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.
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!
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
|
|
|
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. | |