黑马程序员技术交流社区

标题: JAVA设计模式之单例静态内部类实现 [打印本页]

作者: null_null_null    时间: 2019-9-17 10:14
标题: JAVA设计模式之单例静态内部类实现
public class StaticInnerSingleton { //完成了懒汉式的延迟加载,同时static保证了线程安全。

    private  StaticInnerSingleton(){

    }

    public static StaticInnerSingleton getIntance(){
        return SingletonHolder.mIntance;
    }

    private static class SingletonHolder{ //私有的,初始化的时候,没有调用getIntance方法则不会加载
        private static final StaticInnerSingleton mIntance = new StaticInnerSingleton();  //static,final是jvm提供的同步机制,初始化后就无法修改了
    }
}
这种写法是最为推崇的写法,利用static final关键字的同步机制,初始化后就无法修改保证了线程安全。,使用holder的方式保证了延迟加载,不适用不会被加载。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2