我的项目中有一个 NullPointerException,我想评估这个问题的严重性。在线程完成其任务并且无论如何都会死之前抛出异常。我的代码未能捕捉到这个异常,所以线程已经死了。
下面是一个简单的模拟情况:
public class Test extends Thread {
public static void main(String[] args) throws InterruptedException {
Test thread = new Test();
thread.start();
while(true) {
System.out.println("I'm still here!");
Thread.sleep(1000);
}
}
public void run() {
String s = null;
int len = s.length(); // causes NullPinterException
}
}
我的问题是:这个可怜的线程现在会发生什么?它的 linux 文件描述符是否被释放?此类代码中是否存在任何稳定性或内存问题?