一个类有一个私有变量,整个类里没有一句把它设程null的,
整个实现了静态单例,今天发现该变量变为null。
什么情况会导致这种情况发生?
整个实现了静态单例,今天发现该变量变为null。
什么情况会导致这种情况发生?
解决方案 »
- 我的问题出现在哪?
- 线程的几个问题
- 关于二道面试题。
- 请问一下关于jsp与Mysql 是如何 连接的啊?
- 求:jspSmartUpload.jar 或者 jspSmartUpload.zip !!!!!!!!!!!!!!!
- ■■救命,怎样将包内文件夹中的所有图片复制到指定目录,所有图片都打包起来了。
- 从给定文件中读取一个整数,并将其进行排序,然后再写入另一个文件中,谢谢,帮助编写一个程序!!
- 一直困扰我的BYTE ARRAY TO STRING 问题
- 为什么JAVA程序中的字体那么难看,难道它不是用Windows的字库?
- java连sqlserver需要的jar文件去哪里可以下载?
- 这个控件是什么?叫什么名字?
- 64位系统问题
2、静态单例可能获取对象时没正确获取到
什么时候的事情?今天才发现啊?如果你能保证没有一句把它设置成null的话.那只有一个原因,就是初始化
public class Test {
private Object object;
private static Test test = null;
private Test(){
object = new Object();
}
public static Test getInstantce() {
if (test == null) {
test = new Test();
}
return test;
}
public static void main(String[] args){
Test.getInstantce();
while(true){
Test.getInstantce().object.toString();
//跑着跑着会报nullpoint?
}
}
}
private static Object object;
private static Test test = null;
private Test(){
object = new Object();
}
public synchronized static Test getInstantce() {
if (test == null) {
test = new Test();
}
return test;
}
public static void main(String[] args){
Test.getInstantce();
while(true){
Test.getInstantce().object.toString();}
}
}
一般都是直接报outofmemery吧