SF
Effective Java 3rd.Edition 翻译
Effective Java 3rd.Edition 翻译
注册登录
关注博客
注册登录
主页
关于
RSS
Effective Java 第三版 全文翻译
coloured_glaze
2019-05-25
阅读 4 分钟
3.1k
本章涉及创建和销毁对象,包括何时以及如何创建它们,何时以及如何避免创建它们,如何确保它们被及时销毁,以及如何管理在销毁之前必须进行的清理操作。
第7项:清除过期对象的引用
coloured_glaze
2019-04-06
阅读 3 分钟
1.6k
当你从手工管理内存的语言(比如C或者C++)转换到具有垃圾回收功能的语言的时候,程序猿的工作就会变得更加容易,因为当你用完了对象之后,他们就会被自动回收。当你第一次经历对象回收功能的时候,会觉得这简直有点不可思议。这很容易给你留下这样的印象,认为自己不再需要考虑内存管理的事情了,其实不然。
第6项:避免创建不需要的对象
coloured_glaze
2019-04-06
阅读 4 分钟
1k
一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。重用的方式既快速,有流行。如果对象是不可变(immutable)的(第17项),那么就能重复使用它。
第5项:固定资源首选使用依赖注入
coloured_glaze
2019-03-26
阅读 3 分钟
1.1k
这些方法都不令人满意,因为它们假设只有一本值得使用的字典。 在实践中,每种语言都有自己的字典,特殊字典用于特殊词汇。 而且,可能需要使用特殊字典进行测试。 假设单本字典就足以满足所有情况,这是一厢情愿的想法。
第4项:通过私有构造器强化不可实例化的能力
coloured_glaze
2019-03-26
阅读 2 分钟
1.2k
有时候你会想要编写一个只包含一组静态方法和静态字段的类。这种类名声很不好,因为有些人为了避免使用面向对象的思维方式而滥用这样的类(some people abuse them to avoid thinking in terms of objects),但是他们确实有它们特有的用处。我们可以使用这种类,以java.lang.Math或者 java.util.Arrays的方式对原始值或数...
第3项:用私有构造器或者枚举类型强化Singleton属性
coloured_glaze
2019-03-24
阅读 3 分钟
1.8k
Singleton指仅仅被实例化一次的类 [Gamma95]。Singleton通常代表无状态的对象,例如函数(第24项)或者本质上唯一的系统组件。使类称为Singleton会使它的客户端测试变得十分困难,因为除非它实现了作为其类型的接口,否则不可能将模拟实现替换为单例。
第2项:当面临多个参数的构造器时考虑使用构建器
coloured_glaze
2019-03-24
阅读 8 分钟
1.2k
静态工厂和构造器有个共同的局限性:他们都不能很好地扩展到大量的可选参数。考虑用一个类表示包装食品外面显示的营养成分标签。这些标签中有几个域是必需的:每份的含量、每罐的含量以及每份的卡路里,还有超过20个可选域:总脂肪、饱和脂肪量、转化脂肪、胆固醇、钠等等。大多数产品在某几个可选域中都会有非零的值。
第1项:考虑静态工厂方法而不是构造函数
coloured_glaze
2019-03-24
阅读 4 分钟
2.1k
类允许客户端获取实例的传统方法是提供公共构造器。还有一种技术应该是每个程序员的工具箱的一部分。一个类可以提供一个公共静态工厂方法,它仅仅是一个返回类实例的静态方法。下面是布尔(布尔型的盒装原语类)的一个简单示例。这个方法将一个布尔原始值转换成布尔对象引用:
第二章 创建和销毁对象
coloured_glaze
2019-03-24
阅读 1 分钟
1.1k
本章涉及创建和销毁对象,包括何时以及如何创建它们,何时以及如何避免创建它们,如何确保它们被及时销毁,以及如何管理在销毁之前必须进行的清理操作。
Effective Java 3rd.Edition 翻译
coloured_glaze
2019-03-23
阅读 2 分钟
1.2k
第10项:覆盖equals时请遵守通用约定 第11项:覆盖equals时总要覆盖hashCode 第12项:始终要覆盖toString 第13项:谨慎地覆盖clone 第14项:考虑实现Comparable接口