懒汉式 饿汉式

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

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

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

比如:有个单例对象

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;  //直接返回这个单例对象

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。