9780201310054

Effective Java: Programming Language Guide (Java Series)

Bloch, Joshua

ISBN 10: 0201310058 / 0-201-31005-8
ISBN 13: 9780201310054
Publisher: Addison-Wesley
Publication Date: 2001
Binding: Softcover
Editorial Reviews:
Synopsis:

A new edition of this title is available, ISBN-10: 0321356683 ISBN-13: 9780321356680


Review:
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)

Review

Review:

"An excellent book, crammed with good advice on using the Java™ programming language and object-oriented programming in general."


--Gilad Bracha, Computational Theologist, Sun Microsystems, Inc., and co-author of The Java™ Language Specification, Second 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., and inventor of the Java™ programming language

Are you looking for a concise book packed with insight and wisdom not found elsewhere? Need to really understand the Java programming language; that is, really understand it? Do you want to write code that is clear, correct, robust, and reusable? Look no further! The book you are holding will provide you with this and many other benefits you may not even know you were looking for. Become a more effective programmer.

Featuring fifty-seven valuable rules of thumb, Effective Java™ Programming Language Guide contains working solutions to the programming challenges most developers encounter every day. Offering comprehensive descriptions of techniques used by the experts who developed the Java platform, the book reveals what to do--and what not to do--in order to produce clear, robust, and efficient code.

Each rule appears in the form of a short, stand-alone essay offering insight, code examples, and "war stories" from this uniquely qualified author. The essays include specific advice and insights into the subtleties of the language and are illustrated with exceptional code examples. Throughout the book, common language idioms and design patterns are examined and insightful and enlightening tips and techniques are provided.

Coverage includes:

  • Customary and effective language usage that is saturated with expert advice in a concise, readable, and easy-to-access format.
  • Patterns, antipatterns, and idioms to help you get the most out of the Java platform.
  • Commonly misunderstood subtleties of the language and its libraries: how to avoid the traps and pitfalls.
  • Focus on the language and its most fundamental libraries: java.lang, java.util, and, to a lesser extent, java.io.
  • Detailed coverage of serialization, including practical advice that is not available elsewhere.

    Appealing to a broad spectrum of the programming community, Effective Java™ Programming Language Guide presents the most practical, authoritative guidelines available for writing efficient, well-designed programs for the Java platform.



    0201310058B07092001
  • From the Back Cover

     

    Effective Java: Programming Language Guide (Java Series): Search Results

    1.
    Effective Java: Programming Language Guide (Java Series) (ISBN: 0201310058 / 0-201-31005-8)
    Bloch, Joshua
    ISBN 10: 0201310058
    ISBN 13: 9780201310054
    Bookseller: TEXTBOOKCHARLIE (Nashville, TN, U.S.A.)
    Bookseller Rating: 5-star rating
    Quantity Available: 1

    Book Description: Addison-Wesley, 2001. Paperback. Book Condition: New. Brand New! Ships same day or next business day. Free USPS Tracking Number. Excellent Customer Service. Ships from TN. Bookseller Inventory # 123701

    Bookseller & Payment Information | More Books from this Seller | Ask Bookseller a Question

    Add Book to Shopping Basket
    Price: US$ 10.23
    Convert Currency
    Shipping: US$ 3.00
    Within U.S.A.
    2.
    Effective Java: Programming Language Guide (Java Series) (ISBN: 0201310058 / 0-201-31005-8)
    Bloch, Joshua
    ISBN 10: 0201310058
    ISBN 13: 9780201310054
    Bookseller: zeebooks (Foley, AL, U.S.A.)
    Bookseller Rating: 5-star rating
    Quantity Available: 1

    Book Description: Addison-Wesley. PAPERBACK. Book Condition: New. 0201310058 .Brand new soft cover book. Book may have shelf wear, due to handling. Book may have remainder mark on it. Book ships within 24 hrs with free Tracking. Please ask about Expedited shipping. Bookseller Inventory # 33290

    Bookseller & Payment Information | More Books from this Seller | Ask Bookseller a Question

    Add Book to Shopping Basket
    Price: US$ 9.94
    Convert Currency
    Shipping: US$ 4.95
    Within U.S.A.
    3.
    Effective Java Programming Language (ISBN: 9780201310054)
    Bloch, Joshua
    ISBN 10: 0201310058
    ISBN 13: 9780201310054
    Bookseller: Castle Rock (Bedford, NS, Canada)
    Bookseller Rating: 5-star rating
    Quantity Available: 1

    Book Description: Book Condition: Brand New. Book Condition: Brand New * All orders are processed and shipped from Las Vegas, NV USA *. Bookseller Inventory # 97802013100541.0

    Bookseller & Payment Information | More Books from this Seller | Ask Bookseller a Question

    Add Book to Shopping Basket
    Price: US$ 19.42
    Convert Currency
    Shipping: US$ 3.99
    From Canada to U.S.A.
    4.
    Effective Java: Programming Language Guide (Java Series) (ISBN: 0201310058 / 0-201-31005-8)
    Bloch, Joshua
    ISBN 10: 0201310058
    ISBN 13: 9780201310054
    Bookseller: ExtremelyReliable (Richmond, TX, U.S.A.)
    Bookseller Rating: 5-star rating
    Quantity Available: 1

    Book Description: Addison-Wesley. Paperback. Book Condition: New. Bookseller Inventory # DADAX0201310058

    Bookseller & Payment Information | More Books from this Seller | Ask Bookseller a Question

    Add Book to Shopping Basket
    Price: US$ 30.14
    Convert Currency
    Shipping: US$ 3.99
    Within U.S.A.
    5.
    Effective Java: Programming Language Guide (Java Series) (ISBN: 0201310058 / 0-201-31005-8)
    Bloch, Joshua
    ISBN 10: 0201310058
    ISBN 13: 9780201310054
    Bookseller: Murray Media (MIAMI SHORES, FL, U.S.A.)
    Bookseller Rating: 5-star rating
    Quantity Available: 2

    Book Description: Addison-Wesley. Paperback. Book Condition: New. Bookseller Inventory # P110201310058

    Bookseller & Payment Information | More Books from this Seller | Ask Bookseller a Question

    Add Book to Shopping Basket
    Price: US$ 58.34
    Convert Currency
    Shipping: US$ 0.00
    Within U.S.A.
    View All Listings for this Book