《Effective Java》应该是Java程序员都听说过的一本书了,特别适合于Java程序员的进阶学习。
之前断断续续有看,但是最近又有时间了,想系统的花时间整理一下,对里面的知识做一个简单的记录学习。
如果有朋友也想看这本书,想要电子版的可以留言邮箱,我私发给你。但是还是建议买纸质书。
因为不仅想学习的时候可以看看,不想学习的时候还可以拿来垫显示器(手动狗头)
(PS:显示器垫高一些对颈椎好哦!)
(PPS:如果想看看其他推荐的程序员要看的资料可以去这里逛逛:2020年java开发应该读的18本书(译))
下面开始正文吧,会持续更新下去。
1、第一章 引言
几个基本原则
1、代码应该清晰,简洁
2、代码应该被重用,而不是被拷贝
3、错误应该尽早被监测出来,最好是在编译的时候
2、第二章 创建和销毁对象
第一条:考虑用静态工厂代替构造器
静态工厂代替构造器的具体代码实现
public static Boolean valueOf(boolean b){
return b?Boolean.TRUE:Boolean.FALSE;
}
这种做法的优点有以下几个:
(1)、静态工厂可以自定义名称,所以可以清晰的描述对象
(2)、用来实现单例,不用每次都生成对象
(3)、静态工厂可以返回原返回类型的任何子类型
(使用这个功能,可以实现服务提供者框架,具体服务提供者框架是什么,可以看着参考资料1)
(4)、静态工厂在创建参数化类型实例的时候,可以通过类型推导(type inference)简化参数传递(在jdk8之后,集合类可以直接new,不带参数)
这种做法的缺点有以下几个:
(1)、类如果不含有公有或者受保护的构造器,就不能被子类化
参考资料:
1、《Effective Java》
2、Effective Java学习(1) 服务提供者框架