Now Australia's Biggest Toy Shop

We won't be beaten by anyone. Guaranteed

Effective Java Programming Language Guide

New or Used: $29.00
"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 andinsightful 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,
  • 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.

Product Details

Table of Contents

Foreword. Preface. Acknowledgements. 1. Introduction. 2. Creating and Destroying Objects. Consider Providing Static Factory Methods Instead of Constructors.Enforce the Singleton Property with a Private Constructor.Enforce Noninstantiability with a Private Constructor.Avoid Creating Duplicate Objects.Eliminate Obsolete Object References.Avoid Finalizers.3. Methods Common to All Objects. Obey the General Contract when Overriding Equals.Always Override HashCode When You Override Equals.Always Override to String.Override Clone Judiciously.Consider Implementing Comparable.4. Classes and Interfaces. Minimize the Accessibility of Classes and Members.Favor Immutability.Favor Composition Over Inheritance.Design and Document for Inheritance or Else Prohibit It.Prefer Interfaces to Abstract Classes.Use Interfaces Only to Define Types.Favor Static Member Classes Over Non-Static.5. Substitutes for C Constructs. Replace Structures with Classes.Replace Unions with Class Hierarchies.Replace Enums with Classes.Replace Function Pointers with Classes and Interfaces.6. Methods. Check Parameters for Validity.Make Defensive Copies when Needed.Design Method Signatures Carefully.Use Overloading Judiciously.Return Zero-Length Arrays, Not Nulls.Write Doc Comments for All Exposed API Elements.7. General Programming. Minimize the Scope of Local Variables.Know and Use the Libraries.Avoid Float and Double if Exact Answers are Required.Avoid Strings where Other Types are More Appropriate.Beware the Performance of String Concatenation.Refer to Objects by their Interfaces.Prefer Interfaces to Reflection.Use Native Methods Judiciously.Optimize Judiciously.Adhere to Generally Accepted Naming Conventions.8. Exceptions. Use Exceptions Only for Exceptional Conditions.Use Checked Exceptions for Recoverable Conditions, Runtime Exceptions for Programming Errors.Avoid Unnecessary Use of Checked Exceptions.Favor the Use of Standard Exceptions.Throw Exceptions Appropriate to the Abstraction.Document All Exceptions Thrown by Each Method.Include Failure-Capture Information in Detail Messages.Strive for Failure Atomicity.Don't Ignore Exceptions.9. Threads. Synchronize Access to Shared Mutable Data.Avoid Excessive Synchronization.Never Invoke Wait Outside a Loop.Don't Depend on the Thread Scheduler.Document Thread-Safety.Avoid Thread Groups.10. Serialization. Implement Serializable Judiciously.Consider Using a Custom Serialized Form.Write ReadObject Methods Defensively.Provide a ReadResolve Method when Necessary.References. Index.

Promotional Information

Effective Java Programming Language Guide distills the hard-won wisdom of today's best Java programmers into 50 techniques for designing and constructing more robust, high-performance software. Josh Bloch, one of Sun's most widely respected Java developers, focuses on the practical problems virtually every Java developer encounters, offering specific solutions and top-notch code examples. Josh Bloch identifies 50 practices that lead directly to better code -- including better alternatives for common practices that have proven undesirable in real-world development. The techniques are specific, thoroughly explained, and supported by top-notch code examples. Among the highlights: why developers should avoid finalizers; when to use delegation instead of inheritance; and how to make the most of Java's powerful typesafe enum pattern. Nearly all 50 practices relate to the "core" of the Java platform -- the language itself -- making the book relevant to every Java developer.

About the Author

Joshua Bloch is a principal engineer at Google and a Jolt Award-winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Josh led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University.

Look for similar items by category
Home » Books » Computers » Programming » Java
Home » Books » Computers » Programming » General
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 5% commission by selling Effective Java Programming Language Guide (Java Series) on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Back to top