欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

我理解的单件模式 JVMIBMJDKthreadJ# 

程序员文章站 2024-01-23 21:37:34
...
性能、安全最好的单件书写模式
public class Singleton{

//volatile 仅仅在JDK5+有效,跟同步块synchronized一起使用,可提高同步性能。如果读操作远远超过写操作,可以结合使用内部锁和 volatile 变量来减少公共代码路径的开销
    private volatile static Singleton test;

    private Singleton(){}

    public static Singleton getInstance(){
        if(test == null){
            synchronized(Singleton.class){
                if(test==null){
                    test = new Singleton();
                }
            }  
        }
        return test;
    }
}

注意: 1.单件必须保证使用同一个类加载器
         2. jdk1.2中的单件在无引用的情况下会被垃圾回收
         3. 单件类中必须使用静态变量,因为方法是静态的,而且方法必须是静态的