Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Error handling JVM应该在StackOverflowerr上重述吗?_Error Handling_Jvm_Stack Overflow - Fatal编程技术网

Error handling JVM应该在StackOverflowerr上重述吗?

Error handling JVM应该在StackOverflowerr上重述吗?,error-handling,jvm,stack-overflow,Error Handling,Jvm,Stack Overflow,堆栈溢出错误会造成什么损害? 由于SOE是一个异步抛出的错误(OOME是另一个示例),可以在任何代码块的中间抛出,因此可能会使对象处于不一致的状态,因此JVM是否应该在堆栈溢出错误之后重新启动。这在锁抽象(包括标准库中的锁类)中尤其明显,这些抽象可能处于某种意外状态(例如永久锁定而没有所有者) 它不会破坏内部JVM状态,因此在OOM之后可以认为VM本身是正常的,但是应用程序和库级别的状态应该被认为是不一致的,除非所讨论的代码经过了非常仔细的设计,能够抵抗异步异常 因此,是的,除非专门针对这种情况

堆栈溢出错误会造成什么损害?
由于SOE是一个异步抛出的错误(OOME是另一个示例),可以在任何代码块的中间抛出,因此可能会使对象处于不一致的状态,因此JVM是否应该在堆栈溢出错误之后重新启动。这在锁抽象(包括标准库中的锁类)中尤其明显,这些抽象可能处于某种意外状态(例如永久锁定而没有所有者)

它不会破坏内部JVM状态,因此在OOM之后可以认为VM本身是正常的,但是应用程序和库级别的状态应该被认为是不一致的,除非所讨论的代码经过了非常仔细的设计,能够抵抗异步异常

因此,是的,除非专门针对这种情况而设计,否则在遇到国有企业后重启通常会更好