admin管理员组

文章数量:1530517

effective-java-third-edition

介绍

Effective Java 第三版全文翻译,纯属个人业余翻译,不合理的地方,望指正,感激不尽!(OS:如果可以的话,给个Star呗!)

邮箱:lin-mt@outlook

目录

推荐序

前言

致谢


第一章 引言


第二章 创建和销毁对象

  本章涉及创建和销毁对象,包括何时以及如何创建它们,何时以及如何避免创建它们,如何确保它们被及时销毁,以及如何管理在销毁之前必须进行的清理操作。

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

第三章 对于所有对象都通用的方法

  尽管Object是一个具体类,但是设计它主要是为了扩展。它所有的非final方法(equals、hashCode、toString、clone和finalize)都有明确的通用约定(general contracts),因为它们被设计成是要被重写(override)的。任何一个类,它在覆盖这些方法的时候,都有责任遵守这些通用约定;如果做不到这一点,其他依赖于这些约定的类(例如HashMap和HashSet)就无法结合该类一起正常运作。

  本章将讲述何时以及如何覆盖这些非final的Object方法。本章不再讨论finalize方法,因为第7项已经讨论过这个方法了。而ComparablepareTo虽然不是Object方法,但是本章也对它进行讨论,因为它具有类似的特征。

  • 第10项:覆盖equals时请遵守通用约定
  • 第11项:当重写equals方法时总要重写hashCode方法
  • 第12项:始终重写toString方法
  • 第13项:谨慎地重写clone方法

本文标签: 第三版中文翻译EffectiveJava