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)
身为一个以Java为生的Coder,到现在才看这本书,说起来多少有点惭愧。买了中文版,看了几页后实在是看不懂,完全不知所云,没办法,只好看英文版的,于是历时一个月,看得我欲仙欲死,生不如死。。。不过,经典就是经典,收获良多,强烈推荐!
評分首先声明,这本书的中文翻译大体上还是过得去的,大方向上没问题。 ----------------------------分割线---------------------------- 1. p129 翻译:Java的枚举类型是功能十分齐全的类,功能比其他语言中的对等物要更强大得多,Java的枚举本质上是int值。 原文:Java's enum ...
評分Creating and Destroying Objects 1, Consider providing static factory methods instead of constructors Pros: Named methods Flexible: not required to create a new object each time invoked. Flexible: can provide an object of any subtype. Cons The class without ...
評分《Effective Java》是一本什么样的作品,相信也不用我去多阐述了,网上大堆的评价。而刚刚听到这本书的朋友们都应该是被朋友推荐所以才看的。 说回自己的感想,无论这本中文版纸质如何,也只能说对于英语水平不高的朋友们的唯一选择。但也这样说吧,在没得选择的情况下我才会...
評分坐在那里看了一个小时,看的心浮气躁,完全看不下去任何内容。一个小时过去了连一个章节都没看完。也可能是因为没带笔,直接看感觉特别烦躁。看来看去只感觉,这本书在讲什么,这段话在讲什么?估计我修炼还不到家。我先看看别的吧,提高提高自己技术再来看好了,毕竟这本书评...
咦我之前居然沒把這本記到豆瓣…
评分看完第9部分Exception,之後的以後用到再看
评分很經典的實例代碼,但序列化那章好難,再找中文版的看一下
评分字字珠璣,讀過之後頓時覺得自己的程序韆瘡百孔,每一頁都有巧妙無比但又實用的技巧與方法。必定要反復過目的經典
评分Java 5後行走江湖三大件之一啊: Effective Java Java Generics Java Concurrency in Practice 相比之下,Practical API Design: Confession of a Java Framework Designer就相當囉嗦瞭
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 qciss.net All Rights Reserved. 小哈圖書下載中心 版权所有