Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux中的死java线程发生了什么?_Java_Linux_Multithreading_Exception_Stability - Fatal编程技术网

linux中的死java线程发生了什么?

linux中的死java线程发生了什么?,java,linux,multithreading,exception,stability,Java,Linux,Multithreading,Exception,Stability,我的项目中有一个NullPointerException,我想评估一下这个问题的严重性。异常是在线程完成其任务并即将死亡之前抛出的。 我的代码未能捕获此例外,因此线程已死亡 下面是一个简单的情况模拟: 公共类测试扩展线程{ 公共静态void main(字符串[]args)引发InterruptedException{ 测试线程=新测试(); thread.start(); while(true){ System.out.println(“我还在这里!”); 睡眠(1000); } } 公开募捐{

我的项目中有一个NullPointerException,我想评估一下这个问题的严重性。异常是在线程完成其任务并即将死亡之前抛出的。 我的代码未能捕获此例外,因此线程已死亡

下面是一个简单的情况模拟:

公共类测试扩展线程{
公共静态void main(字符串[]args)引发InterruptedException{
测试线程=新测试();
thread.start();
while(true){
System.out.println(“我还在这里!”);
睡眠(1000);
}
}
公开募捐{
字符串s=null;
int len=s.length();//导致NullPinterException
}
}

我的问题是:这个可怜的线程现在会发生什么?它的linux文件描述符被释放了吗?此类代码中是否存在任何可能出现的稳定性或内存问题?

这与线程无关。看看你的代码:

   String s = null;
   int len = s.length();
调用
s.length()
时,
s
确实是
null
导致
NullPointerException

将一些值赋给
s
,您将得到它的长度。

处理与任何其他终止线程没有区别。在此之前发生的一件事是根据规则(特定的
线程
线程组
,所有线程)搜索,但除此之外,“正常”清理过程如下。与“正常”终止相比,当线程被未捕获异常终止时,系统资源(取决于
线程
实现)或内存问题没有特定的后果。

这是他的问题,抛出异常后线程会发生什么情况。谢谢!这非常有用。(注意:编辑以强调“系统”应该保持运行的事实)线程没有文件描述符。