Search for books and compare prices on all major online booksellers with one click!

Home  About UsSuggest BookstoreRecommend Us 
    Title/Keywords ISBN  

Effective Java Programming Language Guide

AUTHOR: Joshua Bloch
ISBN: 0201310058

SHORT DESCRIPTION: "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...

Compare Price


HOME--->> Computers & Internet --->>Programming --->>Programming
 
Programming
         Editorial Review

Effective Java Programming Language Guide
- Book Review,
by Joshua Bloch


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)


From Book News, Inc.
Having worked as a platform libraries architect for Java since 1996, Bloch shares with programmers what he has learned about what works, what does not, and how to use the language and its libraries to best effect. He presents 57 specific hints in sections on creating and destroying objects, methods common to all objects, classes and interfaces, substitutes for C constructs, methods, general programming, exceptions, threads, and serialization.Copyright © 2004 Book News, Inc., Portland, OR


Book Info
(Pearson Education) Working solutions to programming challenges faced by Java developers on a daily basis, revealing what to do to produce clear, robust and efficient code. Include rules in short essay form, and the author's 'war stories,' giving advice and insights into nuances of the language. Softcover.


From the Back Cover
"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


About the Author
Joshua Bloch is a Senior Staff Engineer at Sun Microsystems, Inc., where he is an architect in the Core Java Platform Group. He designed, implemented, and maintained many of the Java platform libraries, including the award-winning Collections Framework and the java.math package, and contributed to many other parts of the platform. His Ph.D. thesis on the replication of abstract data objects was nominated for the ACM Distinguished Dissertation Award. He holds a B.S. from Columbia University and a Ph.D. from Carnegie-Mellon University.

0201310058AB07262001


Excerpt. © Reprinted by permission. All rights reserved.
In 1996 I pulled up stakes and headed west to work for JavaSoft, as it was then known, because it was clear that was where the action was. In the intervening five years I've served as Java Platform Libraries Architect. I've designed, implemented and maintained many of the libraries, and served as a consultant for many others. Presiding over these libraries as the Java platform matured was a once-in-a-lifetime opportunity. It is no exaggeration to say that I had the privilege to work with some of the great software engineers of our generation. In the process, I learned a lot about the Java programming language--what works, what doesn't, and how to use the language and its libraries to best effect. This book is my attempt to share my experience with you, so that you can imitate my successes while avoiding my failures. I borrowed the format from Scott Meyers's Effective C++ Meyers98, which consists of fifty items, each conveying one specific rule for improving your programs and designs. I found the format to be singularly effective and I hope you do too. In many cases, I took the liberty of illustrating the items with real-world examples from the Java platform libraries. When describing something that could have been done better, I tried to pick on code that I wrote myself, but occasionally I pick on something written by a colleague. I sincerely apologize if, despite my best efforts, I've offended anyone. Negative examples are cited not to cast blame but in the spirit of cooperation, so that all of us can benefit from the experience of those who've gone before. While this book is not targeted solely at developers of reusable components, it is inevitably colored by my experience writing such components over the past two decades. I naturally think in terms of exported APIs (Application Programming Interfaces) and I encourage you to do likewise. Even if you aren't developing reusable components, thinking in these terms tends to improve the quality of the software you write. Furthermore, it's not uncommon to write a reusable component without knowing it: you write something useful, share it with your buddy across the hall, and before long you have half a dozen users. At this point, you no longer have the flexibility to change the API at will, and are thankful for all the effort that you put into designing the API when you first wrote the software. My focus on API design may seem a bit unnatural to devotees of the new lightweight software development methodologies, such as Extreme Programming Explained Beck99. These methodologies emphasize writing the simplest program that could possibly work. If you're using one of these methodologies you'll find that a focus on API design serves you well in the refactoring process. The fundamental goals of refactoring are the improvement of system structure and the avoidance of code duplication. These goals are impossible to achieve in the absence of well-designed APIs for the components of the system. No language is perfect, but some of them are excellent. I have found the Java programming language and its libraries to be immensely conducive to quality and productivity, and a joy to work with. I hope this book captures my enthusiasm and helps make your use of the language more effective and enjoyable. Josh Bloch Cupertino, California April, 2001

0201310058P04232001


Buy from Amazon     Compare Prices



         Book Review

Effective Java Programming Language Guide
- Book Reviews,
by Joshua Bloch

Effective Java Programming Language Guide

FROM THE PUBLISHER

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 virtually every Java developer.

For all experienced Java programmers, and for C++ programmers who want to maximize their Java expertise and productivity as quickly as possible.

SYNOPSIS

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.

FROM THE CRITICS

Booknews

Having worked as a platform libraries architect for Java since 1996, Bloch shares with programmers what he has learned about what works, what does not, and how to use the language and its libraries to best effect. He presents 57 specific hints in sections on creating and destroying objects, methods common to all objects, classes and interfaces, substitutes for C constructs, methods, general programming, exceptions, threads, and serialization. Annotation c. Book News, Inc., Portland, OR (booknews.com)


Buy from Barnes & Noble     Compare Prices




HOME  |  Recommend bookstore  |  Rate bookstore  |  Link to us  |  Report bug  |  Contact us
Copyright© 2003 - 2005, PowerBookSearch.com. All Rights Reserved.