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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------
求积分!零基础,刚学到这里

---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------

5 个回复

倒序浏览
本帖最后由 上官睿鹏 于 2014-3-24 15:22 编辑

哪个公司面试的.....?饿汉式不会延迟加载,它是一上来就给new 一个实例
public Singleton{
    private static Singleton  instance = new Singleton();
    private Singleton(){}
     public static Singleton getInstance(){
            return instance;
     }
}他想问的应该是懒汉式延迟加载问题因为懒汉式要先判断对象是否为空,为空再创建,如果有多线程的话,还要有synchronized关键字
public Singleton{
    private static Singleton  instance = null;
    private Singleton(){}
     public static Singleton getInstance(){//
             if(instance == null)
                       instance = new Singleton();
            return instance;
     }
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
既然是饿汉式,你想一下,既然叫饿汉,还不一开始就加载呢???你觉得呢?
延迟加载的是懒汉式。
回复 使用道具 举报
上官睿鹏 发表于 2014-3-24 15:18
哪个公司面试的.....?饿汉式不会延迟加载,它是一上来就给new 一个实例
public Singleton{
    private st ...

恩恩!不好意思,是我搞错了
回复 使用道具 举报
透过生活 发表于 2014-3-24 20:13
既然是饿汉式,你想一下,既然叫饿汉,还不一开始就加载呢???你觉得呢?
延迟加载的是懒汉式。 ...

不好意思,是我搞错了,是懒汉式:shutup:
回复 使用道具 举报
1.懒汉式
懒汉式的特点是实例的延迟加载,但是多线程访问时会出现安全问题,加同步时锁是该类所属的字节码文件对象
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
class single  
{  
    private static  single s=null;  
    private single(){}  
    public static single getInstance()  
    {  
         
        if(s==null)  
        {  
            synchoronized(single.class)  
            {  
                if(s==null)  
                    s=new single();  
            }  
        }  
    return s;  
}  

2.饿汉式
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
class single  
{  
    private static final single s=new single();  
    private single(){}  
    public static single getInstance()  
    {  
        return s;  
    }  
}  

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马