- Paperback: 272 pages
- Publisher: Addison-Wesley (June 15, 2001)
- Language: English
- ISBN-10: 0201310058
- ISBN-13: 978-0201310054
- Product Dimensions: 7.2 x 0.7 x 9.1 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 127 customer reviews
- Amazon Best Sellers Rank: #553,134 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Effective Java: Programming Language Guide (Java Series)
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
See the Best Books of 2017
Looking for something great to read? Browse our editors' picks for the best books of the year in fiction, nonfiction, mysteries, children's books, and much more.
Frequently bought together
Customers who bought this item also bought
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
- 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 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.
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.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Joshua Bloch is cited by several sources as a math prodigy and an accomplished researcher. None of that high-octane stuff affects this book. The prose style is simple and practical. The author never strains to detail a complex or abstract tangent. For example, his piece on random number generation (under Item 30, "Know and Use the Libraries"), raises a whole slew of "interesting" questions, but he stays on point (trust the library to do work you don't know needs doing). He avoids proving his assertions when a demonstration will suffice, so the book stays short and focussed.
Many of these points were review material for me, but I gained from Bloch's discussions nonetheless. As often as not, I preferred his reasoning over ones I have relied on; Bloch's just feels better rooted. And, in a world of high-stress schedules and moving-target projects, it's refreshing to hear someone with heavy concerns of his own preach the Good Word on better programming.
This book will strengthen your understanding of Java. It will confirm the things you've been doing right all along, and politely show you how you could do better. It might also give you a way to move people who wouldn't listen to broken-record you, but would listen to a smart stranger who says the same thing. ;)
Taken together, the suggestions in the third chapter provide a clear and well-reasoned articulation of the citizenship requirements for a good Object as imposed by the Java class libraries.
It has a lot of tips for good programming practices and information that applies to all Java projects (such as information on creating/destroying objects, methods common to all objects, classes and interfaces, general programming, exceptions, threads, and serialization.) It also has some code samples that you can use (such as how to write a good enumeration class or how to write a readResolve method for a singleton class.)
Most recent customer reviews
It is still valuable for those who prepare themselves for interview in IT company.Read more