java单例模式的几种方法

最近阅读java多线程编程技术的书,看到其中的单例模式的使用,感觉值得分享一下,下面介绍几种单例模式的实例化方法:

饿汉模式

class Object{

private static Object object = new Object();

public static Object getInstance(){

return object;

}

}

懒汉模式:

1,使用DCL双检查机制

class Object{

private volatile static Object object;

public static  Object getInstance(){

if( object ==null ){

     object = new Object();

}

return object;

}

}

2,使用静态内置类实现单例模式

class Object{

private static class ObjectHandle{

private static Object object = new Object();

}

private  Object(){

}

public static  Object getInstance(){

return ObjectHandle.object;

}

}

3,使用static 代码块实现单例模式

class Object {

private static Object object;

static {

object = new Object();

}

public Object(){

}

public static  Object getInstance(){

return object;

}

}

以上就是几种线程安全的单例模式的写法。