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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 微笑的背后3 中级黑马   /  2015-8-8 13:20  /  1005 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

饿汉式
class Single
{
private Single(){}
        private static Single s=new Single();
               
        public static Single getInstance()
        {
                return s;
        }
}
懒汉式
class Single
{
        private Single(){}
        private static Single s=null;
        public static Single getInstance()
        {
                if(s==null)
                        s=new Single();
                return s;
}
饿汉式:先初始化对象
懒汉式:判断后再初始化对象,相比饿汉式效率低一些,还容易出错

6 个回复

倒序浏览
点一下赞,长点见识
回复 使用道具 举报
懒汉式的同步是要记住的。
回复 使用道具 举报
class Single
{
        private Single(){}   //构造函数私有化,从而外部不能直接创建其对象
        private static Single single = null;
        private static Single getInstance()
        {
                if(single == null)//可以有效防止在对象存在的情况下,判断同步锁
                {
                        synchronized(Single.class)//锁是静态方法所在类的字节码文件对象
                        {
                                if(single ==null)
                                {
                                        single = new Single();
                                }
                        }
                }
                return single;
        }
}
回复 使用道具 举报
赞一个
回复 使用道具 举报
王竹根 来自手机 中级黑马 2015-8-8 22:38:41
地板
谢谢提醒。。。。。。。。。。。哈哈
回复 使用道具 举报
楼主还应该知道懒汉式在io中存在问题,应记住的改进措施,即同步
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马