【读书笔记】《Effective Java》——目录

第壹,章——创造和销毁对象

第1条:设想用静态工厂方法替代构造器

第2条:相遇几个构造器参数时要考虑用构建器

第3条:用个人构造器或许枚举类型强化Singleton属性

第4条:经过个人构造器强化不可实例化的力量

第5条:防止创设不须求的目标

第6条:撤除过期的对象引用

第10条:幸免接纳已毕方法

其三章——对于全体目的都通用的法子

第柒条:覆盖equals时请遵循通用约定

第8条:覆盖equals时总要覆盖hashCode

第九条:始终要遮盖toString

第一1条:谨慎地覆盖clone

第32条:考虑已毕Comparable接口

第陆,章——类和接口

第3、3条:使类和分子的可访问性最小化

第34条:在公有类中使用访问方法而非公有域

第35条:使可变性最小化

第一,6条:复合优先于继续

第叁7条:要么为一而再而安排,并提供文档表达,要么就不准继续

第叁8条:接口优于抽象类

第叁9条:接口只用于定义类型

第叁0条:类层次优于标签类

第二,1条:用函数对象表示策略

第三,2条:优先考虑静态成员类

第五章 泛型

第壹3条:请不要在新代码中运用原生态项目

第壹4条:化解非受检警告

第三5条:列表优先于数组

第16条:优先考虑泛型

第贰7条:优先考虑泛型方法

第三8条:利用有限制通配符来提高API的油滑

第二,9条:优先考虑类型安全的异构容器

第肆章——枚举和注释

第30条:用enum代替int常量

第二1条:用实例域代替序数

第二2条:用EnumSet代替位域

第23条:用EnumMap代替序数索引

第贰4条:用接口模拟可伸缩的枚举

第25条:讲明优先于命有名的模特式

第壹,6条:坚持不渝使用Override表明

第二7条:用标记接口定义类型

第七章——方法

第贰8条:检查参数的有用

第三9条:须求时展开敬重性拷贝

第5、0条:谨慎设计艺术签名

第伍,1条:慎用重载

第六2条:慎用可变参数

第六3条:再次来到零长度的数组大概聚众,而不是null

第四,4条:为保有导出的API成分编写文档注释

第玖,章——通用程序设计

第肆,5条:将有个别变量的作用域最小化

第56条:for-each循环优先于古板的for循环

第伍7条:领会和利用类库

第伍,8条:若是须要规范的答案,请避免采取float和double

第59条:基本项目

第伍0条:倘若此外项目更适合,则尽量防止使用字符串

第肆1条:当心字符串连接的属性

第肆,2条:通过接口引用对象

第五,3条:接口优先于反射机制

第44条:谨慎地利用当地点法

第六,5条:谨慎地开展优化

第四6条:坚守普遍接受的命名惯例

第九章——异常

第陆7条:只针对卓殊的情景才使用拾叁分

第六8条:对可复原的气象接纳受检很是,对编程错误使用运维时十分

第肆9条:防止不须求地应用受检的特别

第五,0条:优先利用规范的格外

第51条:抛出与虚幻相呼应的百般

第肆2条:各个方法抛出的那多少个都要有文档

第六3条:在细节音讯中包含能捕获失利的音讯

第肆4条:努力使战败保持原子性

第45条:不要忽略至极

第十章——并发

第肆6条:同步访问共享的可变数据

第4、7条:防止过度同步

第陆8条:executor和task优先于线程

第四9条:并发工具优先于wait和notify

第柒0条:线程安全性的文档化

第八1条:慎用延迟先河化

第九2条:不要借助于线程调度器

第拾3条:防止使用线程组

第捌一——章系列化

第九4条:谨慎地达成Serializable接口

第九,5条:考虑采取自定义的种类化方式

第柒6条:爱慕性地编写readObject方法

第捌7条:对于实例控制,枚举类型优先于readResolve

第98条:考虑用连串化代理代替系列化实例

相关文章