A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郝晓东 中级黑马   /  2015-3-21 20:41  /  1536 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以及它与饿汉式的用法范围的区别

7 个回复

倒序浏览
懒汉
public class Student{
private Student();//私有构造
private static Student student = null;
   public static  Student newStudent(){
             if(student == null) {      
                student = new Student();  //懒汉式做法
             }
             return student;
          }

饿汉
public class Student    {
private Student();//私有构造
private static Student student = new Student(); //建立对象
   public static   Student newStudent(){
                return student;  //直接返回单例对象
          }
厂模式简单的说就是你要我就给,懒汉和饿汉的本质区别,就是实例化对象的时机,即是什么时候将对象创建起来。
所有的方法和属性已经全在内存里了,但是没有调用的话,cup是不会去计算和执行的,只有你调用哪个才去计算和执行哪个属性和方法的代码。
不过,类的静态代码块除外
如 static {
              ........
                }
这种情况之下,类一加载,该代码块就会被执行。

点评

不送技术分也不送我个黑马币吖,(*^__^*) 嘻嘻……  发表于 2015-3-21 22:42
好的,多谢啦,嘿嘿  发表于 2015-3-21 22:40
回复 使用道具 举报
懒汉式,在你获取该对象之前,就已经创建好了。而饿汗式,采用了同步机制,什么时候,获取该类的对象,什么时候创建出来。但由于加锁机制,所以效率可能不高。我们实际开发中,一般采用懒汉式,而饿汗式常作为面试题。
回复 使用道具 举报
学习学习
回复 使用道具 举报
我不是记得饿汉式没有线程安全,开发用的多是饿汉式吧!!!!
回复 使用道具 举报
饿汉式能保证线程安全
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马