Joshua Bloch is chief Java architect at Google and a Jolt Award winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Bloch led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He coauthored Java™ Puzzlers (Addison-Wesley, 2005) and Java™ Concurrency in Practice (Addison-Wesley, 2006).
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)
每种语言都有一个“Effective guide”,对于Java,那就是这本《Effective Java》。 这是一本实用至上的书,78条建议,满满的干货。每一条都说明了为什么最好这样。这些经验,都是对大量的程序项目进行反思时逐渐形成的。对于Java这种极为健全乃至有点过于丰满的语言,这样一本...
評分个人认为这本书和《Thinking in java》一样,并不适合刚入门JAVA的人。它是一本进阶教程,里面的多线程或者设计模式,是需要一定的功力才能够理解作者所举的示例的。每个示例解释得恰到好处,可以作为实际开发的指导原则了吧,若有一些开发经验或者将作者所举的原则应用到实际...
評分每种语言都有一个“Effective guide”,对于Java,那就是这本《Effective Java》。 这是一本实用至上的书,78条建议,满满的干货。每一条都说明了为什么最好这样。这些经验,都是对大量的程序项目进行反思时逐渐形成的。对于Java这种极为健全乃至有点过于丰满的语言,这样一本...
評分个人认为这本书和《Thinking in java》一样,并不适合刚入门JAVA的人。它是一本进阶教程,里面的多线程或者设计模式,是需要一定的功力才能够理解作者所举的示例的。每个示例解释得恰到好处,可以作为实际开发的指导原则了吧,若有一些开发经验或者将作者所举的原则应用到实际...
評分每种语言都有一个“Effective guide”,对于Java,那就是这本《Effective Java》。 这是一本实用至上的书,78条建议,满满的干货。每一条都说明了为什么最好这样。这些经验,都是对大量的程序项目进行反思时逐渐形成的。对于Java这种极为健全乃至有点过于丰满的语言,这样一本...
大部分都是精華,廢話很少
评分同為Effective XXX,但這本書比《Effective C++》要好一個檔次。本書介紹的許多經驗和方法不僅針對Java程序員,C++,C#程序員同樣可以獲益,值得每一位程序員閱讀!
评分第二版,更厚瞭.
评分大部分都是精華,廢話很少
评分我覺得應該是java進階的必讀書籍之一,受益匪淺,書雖然很薄,但是容納的知識真的很豐富
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有