[color=darkblue]单例模式的主要目的是让内存中只保存某个对象的唯一实例,避免不必要的资源消耗,从而提高应用程序性能。
单例模式的实现方式有二:[/color]
[b][color=blue]方式一:[/color][/b]
[b][color=blue]方式二:[/color][/b]
单例模式的实现方式有二:[/color]
[b][color=blue]方式一:[/color][/b]
package com.mzh.common;
public class Singleton {
//把目标对象定义成static final类型的变量
private static final Singleton singleton=new Singleton();
//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
private Singleton(){}
//通过静态方法返回对象实例:
public static Singleton getInstence(){
return singleton;
}
//业务方法:
public void doSth(){
System.out.println("do something.");
}
}
[b][color=blue]方式二:[/color][/b]
package com.mzh.common;
public class Singleton {
//静态实例变量:
private static Singleton singleton;
//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
private Singleton(){}
//通过静态方法返回实例(synchronized 关键字解决多线程共享问题)
public static synchronized Singleton getInstence(){
//如果目标对象实例不存在则实例化一个;否则直接返回该对象实例:
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
//业务方法:
public void doSth(){
System.out.println("do something.");
}
}