论坛首页 Java企业应用论坛

关于单例及其范围...以及构造函数中泄漏 this

浏览 9220 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-09-07  
runshine 写道
icanfly 写道
引用
另外请教大家个问题
在构造方法中使用 xxx=this,尽管没有错误,但是NetBeans会提示"构造函数中泄漏 this"...在一般方法中使用没有提示...这是什么意思?会有什么问题?

可以看看java并发编程这书,讲得非常不错,我引用它的一段原话
引用

对象只有通过构造函数返回后,才处于可预言、稳定的状态,所以从构造函数内部发布的对象,只是一个未完成构造的对象。甚至即使是在构造函数的最后一行发布的引用也是如此。如果this引用在构造过程中逸出,这个的对象被认为是“没有正确构建的”

引用
不要让this引用在构造期间逸出



谢谢谢谢
这也刚好对实例完整性的的意思进行了阐述

但jeff.key提到的完整性问题,我觉得急切加载这个问题上应该不会碰上:JVM在加载这个类的时候就实例化了这个对象,不会因为多线程的问题导致这个对象不完整(多线程尚未启动)


这个地方应该是我看错了。
JVM在加载类的时候会自己确保只有一个线程在加载(不确定,有错的话请指正),
所以不需要加final来确保完整性,如果已经有static的话。

谢谢指正
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics