当前位置: 移动技术网 > IT编程>开发语言>Java > java单例模式4种使用方式分享

java单例模式4种使用方式分享

2019年07月22日  | 移动技术网IT编程  | 我要评论

1、java concurrency in practice的list

复制代码 代码如下:

public class singleton { 
    private static class singletonholder { 
        public static singleton resource = new singleton(); 
    } 
    public static singleton getresource() { 
        return  singletonholder.resource ; 
    } 

    private singleton(){ 

    } 
}

2、effective java

复制代码 代码如下:

public class singleton { 
    public static final singleton instance = new singleton(); 

    private singleton(){} 

    public void method(){ 
        //... 
    } 
    public static void main(string[] a){ 
        //调用方法。 
        singleton.instance.method(); 
    } 
}

3、利用枚举巧妙创建单实例

复制代码 代码如下:

/**
 * 利用枚举巧妙创建单实例
 */ 
public enum singleton { 
    instance; 
    public void method(){ 
        //... 
    } 
    public static void main(string[] a){ 
        //调用方法。 
        singleton.instance.method(); 
    } 
}

4、双重锁

复制代码 代码如下:

public class singleton { 
    private static volatile singleton instance = null; 
    /**
     * 防止其他人new对象
     */ 
    private singleton(){ 
        system.out.println("init"); 
    } 
    public static  singleton getinstance(){ 
        if(instance == null){ 
            synchronized(singleton.class){ 
                if(instance == null){ 
                    instance = new singleton(); 
                } 
            } 
        } 
        return instance; 
    } 
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网