![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
effective java
liyang1518
这个作者很懒,什么都没留下…
展开
-
第四条,通过私有化构造器强化不可以实例化的类。
有很多工具类,里面只有静态方法或这静态域,这些类并不希望被实例化。然而再缺少显示构造器的情况下,编译器回自动提供一个公有无惨的缺省构造器。企图通过把类做成抽象类强制该类不可实例化也行不通,当类被子类化,子类可以实例,并且会误导用户这是为了专门为了继承而设计的。因此添加显示的私有化构造器,强化了不可实例化类的能力,这种习惯也有副作用,他使得类不能被子类化。...原创 2018-03-12 11:11:36 · 175 阅读 · 0 评论 -
第五条 避免创建不必要的对象。
1、重用对象。一般来说重用对象即快速又流行。String s = new String (“ss”)千万不用使用这种方式,String s = “ss”,只用了一个实例,而不是每次执行的时候创建了一个新的实例,并且可以使用到了字符串的常量池技术。对于提供了静态工厂方法和构造器的不可变类,优先使用静态工厂方法而不是构造器,避免创建不必要的对象。例如Boolean.valueOf(String)总是优...原创 2018-03-12 14:45:41 · 177 阅读 · 0 评论 -
第七条 避免使用终结方法
一、finalize的作用 由于在java中存在垃圾回收器,因此许多人认为它相当于C++中的析构函数,然而,垃圾回收器只会回收使用new方法获得的内存,而通过其他方法得到的内存以及任何其他系统资源(比如文件句柄、数据库连接等)都不能通过垃圾回收器得到释放。因此我们需要其它的释放函数。那么能够做到这一切的是finalize()方法(但是,一定不要使用finalzie方法去释放这些资源)。...原创 2018-03-13 15:44:57 · 108 阅读 · 0 评论