懒汉式 与 饿汉式 的区别

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

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

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

比如:有个单例对象

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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容