![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective Java学习笔记
guitar427
这个作者很懒,什么都没留下…
展开
-
第1条--考虑用静态工厂方法代替构造器
写在开头:走技术这条路永远也不能停止学习,工作快三年了,虽然一直都有坚持学东西,也经常在各大技术论坛闲逛,不过挺遗憾自己没有把学习的收获和心得记录下来,正好最近也不是很忙,就把之前的东西再重新理一遍,也正好做个记录。想了一下,还是从《Effective Java》开始吧,这本书我相信很多搞Java的人都看过,这算是我第二次从头看这本书吧,感觉在掌握了Java的基础并做了一些东西之后再来...原创 2013-04-27 14:12:20 · 133 阅读 · 0 评论 -
第2条--遇到多个构造器参数时考虑用构建器
这条其实没什么好说的,每个程序员都遇到过参数大爆炸的情况,面对大量的可选参数,怎么办?直接上例子。考虑用一个类表示食品外包装的营养成分标签。这些标签中的有几个域是必须的:每份的分量,每罐的含量以及每份的卡路里,还有超过20个的可选域:总脂肪量,饱和脂肪量,转化脂肪,胆固醇等等,大多数产品在某几个域中都会有非零的值。 Public class NutritionFacts { priv...原创 2013-04-27 16:20:59 · 126 阅读 · 0 评论 -
第3条--用私有构造器或者枚举类型强化Singleton属性
学习这条首先要了解什么是Singleton,Singleton就是仅仅被实例化一次的类,我们先来看一个常见的单例: public class Singleton { public final static Singleton INSTANCE = new Singleton(); private Singleton(){ }...原创 2013-05-02 15:05:39 · 88 阅读 · 0 评论 -
第4条--通过私有构造器强化不可实例化的能力
这条内容很少,不过还是简单记录一下吧有时候,我们会设计一些类,它们只提供静态方法和静态域,这些类被实例化是完全无意义的。这时候提供一个私有构造器来保证它不能够被实例化是非常严谨的做法,事实上,Java提供的java.lang.Math、java.util.Arrays包括第一条中提到的java.util.Collection等工具类都实现了一个私有的构造器,这个私有的构造器的原理我想就没...原创 2013-05-02 15:21:34 · 81 阅读 · 0 评论 -
第5条--避免创建不必要的对象
先说几句题外话,重新看这本书,真的是有很多新的收获,而且明显地感觉比第一次学习时轻松很多,所以永远不要放弃学习,即使过程再艰难再晦涩,只要坚持去做去学总会有提升,而一点一点的提升最终就会产生一个巨大的质变,再回头去看的时候就会惊讶地发现其实自己已经走了很远。对于初学者来说,仔细读JDK的源码和一些优秀框架的源码对于编程能力的提高是非常有帮助的,先去读一些常用接口和类的源码,比如java.lan...原创 2013-05-02 18:48:40 · 114 阅读 · 0 评论