-
2004-03-02
读《Effective Java》-笔记0
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://pcmanlin.blogbus.com/logs/109826.html
读《Effective Java》(英文版)-笔记0
本书可谓我读过的Java经典之作,甚至可以超越Thinking in Java。
Item目录1.引言
2.建和销毁对象
Item1:考虑使用静态工厂方法代替类的构造器
Item2:通过私有构造器强化“单例”属性――单例模式
Item3:通过私有构造器强化不可实例化的能力
Item4:避免创建重复对象
Item5:销毁过期对象引用
Item6:避免使用finalizer方法
3.所有对象的通用方法
Item7:在重写equals方法时遵循通用契约
Item8:在重写equals方法时总是重写hashCode方法
Item9:总是重写toString方法
Item10: 谨慎地修改clone方法
Item11: 考虑实现Comparable接口
4.类和接口
Item12: 最小化类和成员的可访问能力
Item13: 支持不可变的能力
Item14: 复合优先于继承使用
Item15: 要么专门为继承而设计并给出文档说明,要么禁止继承
Item16: 接口优先于抽象类使用
Item17: 接口只用于定义型别
Item18: 优先考虑使用静态成员类
5.C语言构造体的替代
Item19: 用类代替结构
Item20: 用类层次代替联合
Item21: 用类代替enum的结构体
Item22: 用类和接口来代替函数指针
6.方法
Item23: 检验参数的有效性
Item24: 需要时使用保护性拷贝
Item25: 仔细的设计方法的名字
Item26: 谨慎的使用重载
Item27: 返回零长度的数组而不是null
Item28: 为所有暴露给外界的API元素编写doc注释
7.通用程序设计
Item29: 最小化本地变量的范围
Item30: 了解和使用库
Item31: 如果需要确切的结果应该避免使用float和double类型
Item32: 在其他型别更为合适的地方避免使用字符串
Item33: 了解字符串连结的性能
Item34: 通过对象的接口引用对象
Item35: 优先使用接口,而不是反射机制
Item36: 谨慎的使用本地方法
Item37: 谨慎的进行优化
Item38: 遵循普遍的命名规范
8.异常
Item39: 只针对不正常的条件使用异常
Item40: 对可恢复的条件异常使用被检查的异常,对程序错误使用运行时异常
Item41: 避免没必要使用的被检查异常
Item42: 尽量使用标准异常
Item43: 抛出异常应相应于抽象
Item44: 用文档记录每个方法抛出的异常
Item45: 将捕捉到的失败用详细的信息来说明
Item46: 努力使失败保持原子性
Item47: 不要忽略异常
9.线程
Item48: 对共享可变数据的同步访问
Item49: 避免过多的同步
Item50: 不要在循环外调用wait方法
Item51: 不要依赖于线程调度器
Item52: 将线程安全文档化
Item53: 避免使用线程组
10.序列化
Item54: 谨慎的实现Serializable接口
Item55: 考虑使用自定义的序列化形式
Item56: 保护性的编写readObject方法
Item57: 必要时提供一个readResolve方法随机文章:
Struts中的Action类 2004-04-05Struts 控制器 2004-04-05读《Effective Java》-笔记7 2004-04-05读《Effective Java》-笔记6 2004-04-04读《Effective Java》-笔记5 2004-03-07
收藏到:Del.icio.us







