前言
《Effective Java》中文第三版,是一本关于Java基础的书,这本书不止一次有人推荐我看。其中包括我很喜欢的博客园博主五月的仓颉,他曾在自己的博文《给Java程序猿们推荐一些值得一看的好书》中也推荐过。加深自己的记忆,同时向优秀的人看齐,决定在看完每一章之后,都写一篇随笔。如果有写的不对的地方、表述的不清楚的地方、或者其他建议,希望您能够留言指正,谢谢。
是什么
Singleton :单例,是指仅实例化一次的类,这个类表示无状态对象(无状态对象是指不能保存数据,没有实例变量的对象,线程安全的)。
哪里用
- 全局使用的类。这时候使用单例可以避免频繁的创建和销毁,并保证内存中对象的唯一,可以节省内存。同时,因为单例公用一个实例,有利于Java的垃圾回收机制。
例如我们实现一个功能:当前某网站在线人数(网站计数器),我们可以使用一个全局对象来记录。
怎么实现
- 私有构造方法
public