我在面试时被问到这个问题,有人知道吗?如果JVM崩溃,线程是否仍然存在?
1
A
回答
6
如果JVM由于崩溃而退出,线程将不再存在。如果崩溃是某种内存不足或类似错误,则根据具体情况它可能存在也可能不存在。
6
如果一个线程正在运行,JVM没有崩溃。
但是,有时候人们错误地描述了任何抛出异常的情况。如果这是面试官的意思,我会说线程仍在运行,因为异常被捕获并且没有被重新抛出。
4
如果包含JVM的进程已关闭,则其所有线程也会关闭。当OS清理分配给给定进程的所有内存时,这将在操作系统级别处理。我提到进程级别的闭包,以区别JVM可能发生的其他奇怪的,未知的状态,让它运行,但处于未知状态(例如,它可能实际上并没有做任何事情)。
同样,如果杀死进程,所有子线程都会关闭,无论它们的类型如何(守护进程/非守护进程)。
3
想象一下,你是JVM。你走出去的路上,并没有真正看到你要去哪里,你有一个致命的事故。在不幸发生之前的一瞬间,你脑海中有30件事。想象一下,你脑海里的那些东西是“线索”
当你在路上被冲上岸时,你是否认为你仍然会意识到并将所有这些东西放在心上?
0
JVM的执行实例是一个进程。
线程是进程的一部分。
如果这个过程已经结束,那么它的一部分已经死了。
因此,当您的JVM崩溃或被强制终止时,它所创建的所有线程也会停止执行。另外,当它内部运行的唯一线程是守护进程线程时,JVM会自动终止。
相关问题
- 1. JVM突然崩溃
- 2. GCTaskThread JVM崩溃
- 3. 有一个全局变量在Nodejs崩溃后仍然存在
- 4. 如果会话过期,视图状态是否仍然存在?
- 5. 线程崩溃
- 6. 如果棱镜模块崩溃会发生什么?应用程序是否仍然稳定?
- 7. JBoss/HotSpot JVM崩溃
- 8. Equatable ==功能实现但仍然崩溃
- 9. JVM在Lucene上崩溃DataInput.readVInt
- 10. Ruby:Test :: Unit是否仍然存在?
- 11. Android的OpenCV - NativeCameraView是否仍然存在?
- 12. TIBCO rvcache是否仍然存在?
- 13. 如何检查给定ID的进程是否仍然存在?
- 14. CoreLocation线程崩溃崩溃:com.apple.CoreLocation.ConnectionClient.0x16fcb870.events
- 15. 崩溃,如果CFDictionaryRef不存在
- 16. 在Firefox崩溃后Web内容进程仍在内存中
- 17. iOS中的石英面具 - 它们是否仍然会导致崩溃?
- 18. 的minSdkVersion 21,但是,仍然会崩溃,6.0
- 19. 与辅助线程相比,在辅助线程上崩溃是否有优势?
- 20. 避免jvm崩溃日志
- 21. Tomcat JVM崩溃 - EXCEPTION_ACCESS_VIOLATION(0xc0000005)
- 22. Java JNA WindowProc JVM崩溃
- 23. 6.0_26-b03中的JVM崩溃
- 24. JVM外的JNI崩溃 - EXCEPTION_ACCESS_VIOLATION
- 25. JVM的崩溃报告
- 26. 是否可以指定JVM崩溃转储的位置?
- 27. 如何分析JVM崩溃文件hs_err_pidXYZ.log
- 28. C++程序崩溃时的“免费”存储器是零,但待机存储器仍然可用
- 29. dotnet崩溃服务是否终止它自己的线程?
- 30. 崩溃的NSURLConnection的线程
什么线程? “坠毁”是什么意思? –
线程在运行什么? –
如果有人问我在采访中,我会要求他们澄清他们的意思...... –