Java 单例设计模式的两种实现
在看视频教程的时候看到的第一种设计模式,总体而言还是比较简单的,单例设计模式是限制实例化,只能有一个实例,就是所谓的单例。
实际上,只要做到三点就满足了单例设计模式:
- 构造函数私有化
- 类中创建一个实例对象
- 提供一个方法获取该对象
单例设计模式一共有两种实现,一种叫做饿汉式,一种叫做懒汉式。
先看第一种吧:
class Single
{
private static Single s = new Single();
private Single() {}
public static Single getInstance()
{
return s;
}
}
这种在Single类在内存中的时候就直接初始化完毕了。
而懒汉式则是在调用中初始化:
class Single
{
private static Single s = null;
private Single() {}
public static Single getInstance()
{
if (s == null)
s = new Single();
return s;
}
}
但是懒汉式在多线程时会遇到问题,所以还是饿汉式更“方便”。
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。
还有个用枚举来实现的