Effective Java: Programming Language Guide (Java Series)

by Addison-Wesley

$49.99
52% off
buy from amazon.com
Average Rating: * * * * *
Sales Rank:72595 (lower is better)
Price as of:09/02/2008 12:07:28 AM MDT
Price Used:$9.98
Shipping:Free Shipping on most orders over $25*
Availability:Usually ships in 24 hours
Label:Addison-Wesley
UPC:785342310054
Pages:272
Binding:Paperback
Publication Date:2001-06-15
Published By:Addison-Wesley
ASIN:0201310058
Category:Book

Authors

Editorial Reviews and Product Descriptions

Amazon.com

Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plenty of advice from an indisputable expert in the field, this title is sure to be an indispensable resource for anyone who wants to get more out of their code.

As a veteran developer at Sun, the author shares his considerable insight into the design choices made over the years in Sun's own Java libraries (which the author acknowledges haven't always been perfect). Based on his experience working with Sun's best minds, the author provides a compilation of 57 tips for better Java code organized by category. Many of these ideas will let you write more robust classes that better cooperate with built-in Java APIs. Many of the tips make use of software patterns and demonstrate an up-to-the-minute sense of what works best in today's design. Each tip is clearly introduced and explained with code snippets used to demonstrate each programming principle.

Early sections on creating and destroying objects show you ways to make better use of resources, including how to avoid duplicate objects. Next comes an absolutely indispensable guide to implementing "required" methods for custom classes. This material will help you write new classes that cooperate with old ones (with advice on implementing essential requirements like the equals() and hashCode() methods).

The author has a lot to say about class design, whether using inheritance or composition. Tips on designing methods show you how to create understandable, maintainable, and robust classes that can be easily reused by others on your team. Sections on mapping C code (like structures, unions, and enumerated types) onto Java will help C programmers bring their existing skills to Sun's new language. Later sections delve into some general programming tips, like using exceptions effectively. The book closes with advice on using threads and synchronization techniques, plus some worthwhile advice on object serialization.

Whatever your level of Java knowledge, this title can make you a more effective programmer. Wisely written, yet never pompous or doctrinaire, the author has succeeded in packaging some really valuable nuggets of advice into a concise and very accessible guidebook that arguably deserves a place on most any developer's bookshelf. --Richard Dragan

Topics covered:

  • Best practices and tips for Java
  • Creating and destroying objects (static factory methods, singletons, avoiding duplicate objects and finalizers)
  • Required methods for custom classes (overriding equals(), hashCode(), toString(), clone(), and compareTo() properly)
  • Hints for class and interface design (minimizing class and member accessibility, immutability, composition versus inheritance, interfaces versus abstract classes, preventing subclassing, static versus nonstatic classes)
  • C constructs in Java (structures, unions, enumerated types, and function pointers in Java)
  • Tips for designing methods (parameter validation, defensive copies, method signatures, method overloading, zero-length arrays, hints for Javadoc comments)
  • General programming advice (local variable scope, using Java API libraries, avoiding float and double for exact comparisons, when to avoid strings, string concatenation, interfaces and reflection, avoid native methods, optimizing hints, naming conventions)
  • Programming with exceptions (checked versus run-time exceptions, standard exceptions, documenting exceptions, failure-capture information, failure atomicity)
  • Threading and multitasking (synchronization and scheduling hints, thread safety, avoiding thread groups)
  • Serialization (when to implement Serializable, the readObject(), and readResolve() methods)

Customer Reviews

Great Guide - Reviewed on 2008-03-26
* * * * *

I am only about half way through this book and already have learned numerous things about the design of Java as a language and about proper usage of said language. This book is going to be a staple in my programming library and a book recommended to anyone I know working with Java. I am also looking forward to the second edition which is slated to be released in May sometime.
Indispensable... - Reviewed on 2008-03-25
* * * * *

An indispensable, insightful, and well written Java book to add to your reference library. The second addition is due out May 25, 2008.
Great recommendations - Reviewed on 2008-03-04
* * * * *

I ask all of the developers I manage to read this book, after having been introduced to it by a coworker. Great tips, and helpful in clarifying some of those "gut feel" things that come up during pair-programming.
Thing of Beauty is Joy Forever ... - Reviewed on 2007-09-30
* * * * *

It is incredible to read Joshua's insights. Forget about being a Java Guru or something like that. This book is pure joy to read if you are detail oriented, perfectionist or a student of art of programming in general.

I have started this effort of creating a distilled version of this book coupled with my own reflections at: [...]. To any curious reader though, any such effort is not a replacement for the book itself. It is a masterpiece.

- Kedar Mhaswade
Best Java book available - Reviewed on 2007-09-28
* * * * *

I've been using Java since 1995 and have owned this book since 2001 and it's the only Java text I still turn to. I recommend every Java developer, no matter what level you're at, read this book and read it again every year for the remainder of your career. I doesn't matter who you are or how experienced you think you are -- you will learn from this book. I give "Effective Java" my highest recommendation. I cannot wait for the Second Edition.
Read More Customer Reviews »
Go To Amazon Product Page

* - See Amazon Product Page for shipping and pricing details.


Book Subjects