class MyClass {
private static volatile MyClass myClass = null;
private MyClass() {
}
public static MyClass getInstance() {
if(myClass == null) {
synchronized (MyClass.class) {
if(myClass == null) {
myClass = new MyClass();
}
}
}
return myClass;
}
}volatile关键字我不太明白在上面代码中的作用,既然已经进行双重检查了,还有必要把myClass声明volatile吗?
求教,谢谢!
解决方案 »
- 菜鸟问为什么实现不了?可以实现多个用户注册
- 设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
- 急求!!!各位大个帮帮忙
- 自动类型提升的问题
- 怎样选择多个音乐文件?现在只能播.au格式的,其他的呢?
- JB9.0安装时候里面的自带的jdk 问题
- 高手才进来,ServerSocket传送字节丢失的问题
- 请问,如何在tree中向选中的节点(非叶节点)中,添加子节点呢
- 生成XML日志文件时, 包不包括文件XML头和文件尾?
- 一个简单的问题,用JTable显示数据库中的记录,帮小弟调整一下这个程序
- java io/nio中“装饰器”模式应用,引发的流关闭问题(内存泄漏)
- 关于socket的问题
这种模式现在基本不建议使用了,不必关注了
重点可以去看一下java内存模型。
虽然有双检查了,可能是为了更加安全吧
以后的版本也不建议使用?
您的意思是,这种单例模式的实现方法不推荐了是吗?您说的java内存模型,跟这个有什么关系吗?解释一下..没太明白。