java代码如何实现单例模式及例子
的有关信息介绍如下:
单例模式是java软件系统中应用最多的一种设计模式。
打开eclipse,新建一个java项目,在src目录下新建包test,然后新建类Singleton
package test;
public class Singleton {
}
实现例模式的第一种形式:懒汉式,这是日常开发中用的最多的一种模式。这种模式在方法上加上synchronized关键字,避免了实例的重复创建。
package test;
public class Singleton {
private static Singleton instance=null;
public static synchronized Singleton getInstance(){
if(instance==null){
instance=new Singleton();
}
return instance;
}
private Singleton(){
}
}
实现例模式的第二种形式:饿汉式,这种模式用内部类实现,写法比较简单。
package test;
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton(){
//do something
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance(){
return instance;
}
}
实现例模式的第二种形式:双重锁式。这种模式把synchronized关键字移到了代码块内,比懒汉式更适合在高并发应用中使用,效率性能更高。
package test;
public class Singleton {
private static volatile Singleton instance=null;
private Singleton(){
//do something
}
public static Singleton getInstance(){
if(instance==null){
synchronized(Singleton.class){
if(instance==null){
instance=new Singleton();
}
}
}
return instance;
}
}
单例模式的测试如下,先添加一个公共方法
public void doSomething(){
System.out.println("singleton is doing something");
}
单例模式的调用非常简单,只需要调用类名+方法名即可。
public static void main(String args[]){
Singleton.getInstance().doSomething();
}



