黑马程序员技术交流社区
标题:
单例设计模式总金额
[打印本页]
作者:
王训印
时间:
2015-7-21 20:48
标题:
单例设计模式总金额
单例模式代码3步骤:1.将构造方法私有化。 2.在类中创建一个本类对象。 3.提供一个方法可以获取该类对象。
单例模式分三种:懒汉式单例、饿汉式单例、登记式单例,我主要比较饿汉式与懒汉式的区别:从线程安全角度来说,赖汉时线程不安全,恶汉式线程安全。下面把懒汉式改成线程安全。
饿汉式关键代码:
public class Singal
{
//将构造方法私有化
private Singal() {}
//在类中创建一个本类对象
private static Singal single = new Singal();
//提供一个方法可以获取该类对象
public static Singal getInstance()
{
return single;
}
}
懒汉式单例代码:
public class Singal {
private static Singal single=null;
private Singleton() {}
public static Singal getInstance() {
if (single == null) {
single = new Singal();
}
return single;
}
}
懒汉式线程安全代码:
public class Singal
{
private static Singal single=null;
private Singleton() {}
public static Singal getInstance()
{
if(singal == null)
{
synchronized(Singal.class)
if(singal == null)
{
singal = new Singal;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2