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)
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).
序言 零散地读完《Effective Java》(中文版第二版),真心觉得这是一本经典书籍。现在想写一下读完这本书的整体收获,而不是涉及到书中某一个具体的知识点。 收获 在重点或疑问的地方,做出标记和注释 在读《Effective Java》时,对于前10条建议,我并没有理解得很深刻,...
评分如果你使用刚刚学会的Java做了一个小应用程序,那么你就可以开始有选择地看这本书。书中分别对Java的不同特性分章节给予作者本人的建议。如果你还没有用到其中的某一特性,那么就没必要读相关的章节,跳过去。只有你经历过了,摔倒过了,困扰过了,你才会与书中的建议产生共鸣...
评分这样一本书本该早就读了,然而最近才看完。看完觉得对于一些编程规则深层的原理有了一些认识。之前我只是知道这些口口相传的规则,却不知道为什么,在这本书中找到了一些答案。书中涉及到了java编程方方面面的规则,包括类、接口、创建对象、类中的函数、函数的参数、异常、并...
评分1. Java程序员分两种,读过<Effective Java>的和没读过的,严格的来说,没读过的不算是Java程序员。 2. 书组织的不错,很适合在碎片时间看上一两条,然后再慢慢回味; ...
评分很早就读过,当时就知道这本书很好,可惜当时功力尚浅,没什么收获。但近日再读时,确实很有收获,可以说此书虽不是深入骨髓,但也算入木三分。新手勿动!
大部分都是精华,废话很少
评分后面两百页开始用浏览的方式阅读,并且略过了枚举和声明式的部分以及部分泛型的内容。
评分JLS最佳注解
评分Java 5后行走江湖三大件之一啊: Effective Java Java Generics Java Concurrency in Practice 相比之下,Practical API Design: Confession of a Java Framework Designer就相当啰嗦了
评分同为Effective XXX,但这本书比《Effective C++》要好一个档次。本书介绍的许多经验和方法不仅针对Java程序员,C++,C#程序员同样可以获益,值得每一位程序员阅读!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有