Exception in thread "Thread-2" java.lang.NullPointerException
at com.qq.client.tools.ClientConSeverThread.run(ClientConSeverThread.java:43)
请问线程中出现空指针异常怎么处理?
有人说:如果新线程使用的外部对象在老线程中被释放,而新线程继续使用是就会出现空指针异常
请求大神帮忙,还是不知道问题在哪,下面贴出部分代码;传入的值肯定不为空,是什么原因呢
有人说:如果新线程使用的外部对象在老线程中被释放,而新线程继续使用是就会出现空指针异常
这是Java,除非没有reference,怎么释放?你的新线程既然还能找到那个pointer,那就不该被释放。
你还是找找别的原因
加上try catch判断下。
是不是本来就传了一个空指针进去了
线程最好不要操作公共资源,如要操作请加锁操作,不然是有可能出现你的问题
public void run()
{
while(true)
{
try {
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
Message m=new Message();
m=(Message)ois.readObject();
System.out.println(m.getSender()+"给"+m.getGetter()+"说"+m.getCon()+"\t\n");
//把从服务器获得的消息显示在聊天界面
QqClientChat qqClientChat=MessageChatFace.getQqClientChat(m.getSender()+" "+m.getGetter());
if(m!=null)
{
qqClientChat.showMessage(m);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试了m不是空指针
但还是出现这个异常
你好,我也遇到这个问题了, 请问楼主解决了吗? 能不能说下解决方法?万分感谢啊
楼主解决了没,我也遇到了
楼主解决了没,我也遇到了