黑马程序员技术交流社区
标题:
懒汉模式,升级版问题
[打印本页]
作者:
huhanghao
时间:
2015-3-16 20:42
标题:
懒汉模式,升级版问题
class Single
{
private Single s = null;
private Single(){};
public static getInstance()
{
if(s == null)
{
synchronized(Single.class)
{
if(s==null)
{
s = new Single();
}
}
}
return s;
}
}
为什么synchronized(Single.class)里面不是this?!
作者:
千殇一梦
时间:
2015-3-16 21:29
你这个是静态的啊,静态的同步函数对应的是本类的对应的字节码文件对象。就是类名.class
非静态的同步函数才是this
作者:
huhanghao
时间:
2015-3-16 21:31
千殇一梦 发表于 2015-3-16 21:29
你这个是静态的啊,静态的同步函数对应的是本类的对应的字节码文件对象。就是类名.class
非静态的同步函数 ...
啊!这样啊!
作者:
lwj123
时间:
2015-3-16 22:32
静态方法里写代码块只能是写某个类的字节码文件,而不能写this,因为static的方法是在类加载时就加载的,加载时根本就没有this,这就是不能使用this的原因
作者:
吴阳
时间:
2015-3-16 23:55
感谢楼主分享的这问题 我开始也有遇到 学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2