Shop now Learn more Shop now Shop Clothing clo_fly_aw15_NA_shoes Shop All Shop All Amazon Fashion Cloud Drive Photos Shop now Shop Fire TV Shop now Shop Fire HD 6 Shop Kindle Paperwhite Shop now Shop Now Shop now

Customer Reviews

18
4.9 out of 5 stars
5 star
16
4 star
2
3 star
0
2 star
0
1 star
0

Your rating(Clear)Rate this item
Share your thoughts with other customers

There was a problem filtering reviews right now. Please try again later.

20 of 20 people found the following review helpful
on 27 June 2004
It has been an absolute pleasure to read this no-nonsense collection of observations and suggestions.
The author is extremely knowledgeable and articulates his points in a clear, concise and logical presentation, which is a rare characteristic in today's overflowed and low-quality offer of "how-to-become-a-guru" manuals.
The Collections framework is clearly the author's backyard and you will learn about implementation details and rationales that you will not easily find anywhere else.
What I found most useful in the analysis of the various Java aspects was the author's perspective, which is based on the pros and cons of implementation choices, and strongly focused on API construction. Unless you work alone and deliver complete applications, you will define, design and implement an API sooner or later, maybe even without realizing it. With the help from this book you will most certainly design a robust, maintainable and useful API.
I also liked the practical approach that sometimes goes against OO principles: for example, just because Java embraced the OO philosophy does not mean that inheritance is the only way to go. Composition, static factories, singletons, immutable classes and some good old procedural programming are discussed in depth.
Another brilliant characteristic of this guide (and I would like to especially thank the author for this) is that although there are plenty of snippets to illustrate concepts, these are just skeletons, never longer than few lines and therefore they do not force you to waste your time and divert your attention from the core issue by analyzing pages over pages of code when maybe only one line could have served the purpose.
I would say that this book finds its best audience in the experienced developer/architect who does not have a specific Java expertise but is very comfortable with some other programming language. However, everyone can benefit from in-depth explanations of often misunderstood subtleties like the "equals()", "hashCode()", "clone()" or "compareTo()" contracts. Or serialization: are you sure you master it?
You don't need a profound Java working experience to immediately grasp some concepts; I found that this guide was an excellent companion in my learning of Java, you can start reading it from day 0, and you will get back to it every time you want to know more about a new concept.
The best praise I can say about "Effective Java" is that in my opinion only a handful of experts in the whole Java community could rightfully say "This book shall not teach me no thing", and then I would like to work with these people.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
11 of 11 people found the following review helpful
on 4 April 2002
This book provides maximum value, is easily readable, and very concise. High value per line. That's just what your code will give if you follow the guidelines contained here.
The format is simple, providing 57 distinct items of advice. Each item is small, some are obvious, some more complex. Even the obvious ones are valuable for their formalisation of simple approaches (the "why" to add to your "how").
It is so well written that it can be read cover-to-cover (a rarity in computer books for me), and then dipped into as a reference as and when an item becomes pertinent.
This is not a book to learn to program Java, but one to help experienced programmers write more effective Java. I doubt there is a Java programmer anywhere who would not benefit from some of the items.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
14 of 14 people found the following review helpful
on 24 September 2001
This book is a useful guide to common java idioms and practices. It contains essential advice that most people will only learn through years of experience with Java. Personally I prefer to learn from other people's mistakes and this book offers a wealth of mistakes to avoid and lessons to learn.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 6 people found the following review helpful
on 10 August 2006
This is a book for all developers; both new and experienced.

As someone who has been coding in Java from 1999, I felt my understanding of the basics were fairly good. OO techniques such as inheritance, method overloading, object creation et al were fairly bread and butter for me. Reading this book has shown me numerous ways to increase the standard of my code and also given me good reasons to code the way I should.

Many developers are aware of the fact that they should override hashCode() if they are overriding equals(), but how many could tell you why. This book does and there are many further examples like this, each one designed to highlight scenarios that can raise common (and often subtle) errors which can be easily dealt with.

This book can almost be seen as a book of design patterns but rather than covering patterns to solve various problems (such as: front controller, composite and decorator) these patterns cover writing reliable, stable, efficient and bug free code rather than hacking something together than works.

Essential for anybody wishing to improve their code.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 4 people found the following review helpful
on 18 December 2005
Every once in a while you read something that is truly fundamental that you can’t believe you’ve never come across it before. This book contains many of those moments. In essence it imparts most of the truly fundamental principals that you need to understand to program effectively in java.
There are several sections covering different aspects of java programming. Bloch starts with an in depth look at some of the idiosyncrasies of the language that can lead to the creation of strange and nasty bugs. For example a surprising number of developers don’t realize that you have to override hashCode() when you override equals. Bloch goes into why. He also covers many design issues and good practices such as favouring static inner classes, favouring composition over inheritance and minimizing scope. In each case his analysis is succinct and thought provoking without ever becoming overly dense.
Finally, the book is organized in a very accessible manor. The contents refers to the 57 items that he highlights and the judicious use of bolding in the text is simple yet extremely effective at both highlighting the important points as well as making return visits for references accessible.
If there is one book all java programmers should have it is this one.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 4 people found the following review helpful
on 22 July 2003
I was so impressed with the quality of information in this book that, having reached the end of it (in a surprisingly short space of time), I started again from the beginning - not because it was unreadable or inaccessible but purely in the hope of cementing as much of it as possible in my mind.
I would describe myself as an intermediate-level Java programmer and had stumbled across many of the issues Josh Bloch raises before reading this book (I had also been unable to find satisfactory solutions in some cases, despite hours of Internet searching). My questions included things like how to create type-safe enums, problems with serialisation and immutability issues. The book answered all of these - plus many more that I'd never thought about before - in a clear, concise and well-illustrated way. Some sections took a while to sink in but (I think!) I understood all the concepts explained. It is now permanently on my desk, being used as a constant reference.
I wouldn't recommend this book for anyone just starting out with Java programming (well not unless you're extremely adept at absorbing new concepts that is) but at anything of a more advanced level it is utterly indispensable.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 4 people found the following review helpful
on 8 April 2007
I was very much of the opinion that everything you need to know about programming can be found online and in the Javadocs, but gave this a chance because Josh Bloch is such a legend (he made the Collections framework). I felt several "Level Up" moments when reading this book.

I was absolutely amazed how much stuff I had never even thought about before in Java... from extending objects that override equals (ouch! how broken is that?) to creating properly Serializable objects. And did you ever hear of 'volatile' before? You might want to go and check all your threaded code after reading this!

Josh Bloch is the guru when it comes to publicly usable APIs and it really shows in his hints, which sometimes means you can take his advise with a pinch of salt if you aren't writing public APIs. This book will make you look back and shudder at your existing code... he even points out many pieces in the Java standard library that make him cringe!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 4 people found the following review helpful
on 20 February 2003
This book can impart the knowledge & understanding you need to write better code than you currently know is possible.
Herein are techniques which once mastered can be reused in any language throughout your career as a Software Engineer. This is an exceptionally well written book about programming techniques which just happens to be (a) about Java and (b) from someone who's close enough to the core Java team to really hit the nail on the head.
Make this your first serious Java book after you're comfortable with the basics. It's deeply technical, and an enjoyable read, a real rareity.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on 20 May 2004
This is without doubt the best book I've bought on Java (and I've bought a lot). I've read books on Java specifications, design patterns, etc. This book brings them all together and puts them into perspective. It contains 57 non-trivial dos and don'ts, which are applicable in every Java programming situation. I'm looking forward to the next edition.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on 18 December 2001
Not for beginners, but it really made me think about designing for inheritance, etc. I also learned loads about serialization. I'm sure any Java programmer would read this and have a few 'aha' moments. Well written, precise and intellectually demanding.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this item also viewed
Effective Java: Second Edition
Effective Java: Second Edition by Joshua Bloch (Paperback - 8 May 2008)
£27.19

Java Concurrency in Practice
Java Concurrency in Practice by Brian Goetz (Paperback - 9 May 2006)
£27.64

Head First Java
Head First Java by Kathy Sierra (Paperback - 19 Feb. 2005)
£20.39
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Sponsored Links

  (What is this?)
  -  
Leidos is Seeking a Software Developer. Join Us Today.