单例模式
介绍
每个类只能创建一个实例对象。Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。
优点
- 1 控制资源的使用,通过线程同步来控制资源的并发访问;
- 2 控制实例产生的数量,达到节约资源的目的。
- 3 作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。
种类
饿汉-单例式 懒汉-单例式 静态内部类
1.饿汉-单例式
效率高,线程安全,但浪费内存;不管对象是否真的用到,都直接创建完成
1 | public class Singleton1 { |
2.懒汉-单例式
效率低,线程不安全,需要通过synchronize来保证线程安全
1 | public class Singleton2 { |
3.静态内部类
效率高,线程安全
1 | public class Singleton3 { |
下一节开始学习工厂模式。。。。
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!