• 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方法

     


    收藏到:Del.icio.us




    引用

    下面Blog引用了该文: