我在面試時被問到這個問題,有人知道嗎?如果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的線程
什麼線程? 「墜毀」是什麼意思? –
線程在運行什麼? –
如果有人問我在採訪中,我會要求他們澄清他們的意思...... –