懒汉式 饿汉式

2020-05-13  本文已影响0人  kakafei1381

所谓“懒汉式”与“饿汉式”的区别,是建立单例对象的时间不同。

“懒汉式” 是在你真正用的时候 才去创建这个单例对象。

懒汉式在多线程情况下 存在安全问题

比如:有个单例对象

private static Student student = null;  //不建立对象

Student getInstance(){

        if(student == null) {        //先判断是否为空

                student = new Student();  //懒汉式做法

}

        return student;

}

“饿汉式” 是不管你用不用,一开始就建立这个单例对象。

比如:有个单例对象

private static Student student = new Student(); //建立对象

Student getInstance(){

        return student;  //直接返回这个单例对象

}

上一篇 下一篇

猜你喜欢

热点阅读