欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

单例模式(Singleton Pattern)

程序员文章站 2022-07-14 07:56:53
...
今天学习一下单例模式。
单例模式的定义:
保证一个类只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。

单例模式有三个要点:
(1)某个类只能有一个实例
(2)它必须自行创建这个实例
(3)它必须自行向整个系统提供这个实例

英文定义:
Ensure a class has only one instance,and provide a global point of access to it.

单例模式的优缺点分析:
优点:客户端使用单例模式类的实例的时候,只需要调用一个单一的方法即可生成唯一的实例,有利于节约资源。
缺点:首先单例模式很难实现序列化,这就导致了采用单例模式的类很难被持久化,当然也很难通过网络传输;其次由于单例模式采用静态方法,无法在继承结构中使用;最后如果在分布式集群的环境中存在多个Java虚拟机的情况下,具体确定哪个单例在运行也是很困难的事情。


单例模式范例,既解决了多线程安全问题,又解决了浪费资源的现象:
public static GGVersionFour getGG(){
if(gGVersionFour == null){
synchronized(GGVersionFour.class){
if(gGVersionFour == null){
gGversionFour = new GGVersionFour();
}
}
}
return gGversionFour;
}