Effective_Java_Index

我就是我 2022-02-25 08:08 160阅读 0赞

基于《Effective Java 第三版》的读书笔记

创建和销毁对象

  • 第1条:用静态工厂方法代替构造器
  • 第2条:遇到多个构造参数时要考虑用构建器
  • 第3条:用私有构造器或者枚举类型强化Singleton属性
  • 第4条:通过私有构造器强化不可实例化的能力
  • 第5条:优先考虑依赖注入来引用资源
  • 第6条:避免创建不必要的对象
  • 第7条:消除过期的对象引用
  • 第8条:避免使用终结方法
  • 第9条:try-with-resources优先于try-finally

对于所有对象都通用的方法

  • 第10条:覆盖equals时请遵守通用约定
  • 第11条:覆盖equals时总要覆盖hashCode
  • 第12条:始终要覆盖toString
  • 第13条:谨慎地覆盖clone
  • 第14条:考虑实现Comparable接口

类和接口(TODO)

  • 第15条:使类和成员的可访问性最小化
  • 第16条:在公有类而非公有域中使用访问方法
  • 第17条:使可变性最小化
  • 第18条:复合优先于继承
  • 第19条:要么设计继承并提供文档说明,要么禁止继承
  • 第20条:接口优于抽象类
  • 第21条:为后代设计接口
  • 第22条:接口只用于定义类型
  • 第23条:类层次优于标签类
  • 第24条:静态成员类优于非静态成员类
  • 第25条:限制源文件为单个顶级类

泛型(TODO)

  • 第23条:请不要在新代码中使用原生态类型
  • 第24条:消除非受检警告
  • 第25条:列表优先于数组

枚举和注解(TODO)

  • 第30条:用enum代替int常量
  • 第36条:坚持使用Override注解

Lambda和Stream(TODO)

  • 第42条:Lambda优先于匿名类
  • 第43条:方法引用优先于Lambda
  • 第44条:坚持使用标准的函数接口
  • 第45条:谨慎使用Stream
  • 第46条:优先选择Stream中无副作用的函数
  • 第47条:Stream要优先用Collection作为返回类型
  • 第48条:谨慎使用Stream并行

方法(TODO)

  • 第54条:返回零长度的数组或者集合,而不是null

通用程序设计(TODO)

  • 第57条:将局部变量的作用域最小化
  • 第58条:for-each循环优先于传统的for循环
  • 第59条:了解和使用类库
  • 第63条:了解字符串连接的性能

异常(TODO)

  • 第69条:只针对异常的情况才使用异常

并发(TODO)

序列化(TODO)

其他参考

  • Effective Java通俗理解

发表评论

表情:
评论列表 (有 0 条评论,160人围观)

还没有评论,来说两句吧...

相关阅读