Hurry - Only 3 left in stock!
|
"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:
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
"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:
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
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.
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.
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.
![]() |
Ask a Question About this Product More... |
![]() |