[英]End Java command line application properly
我只是想知道。 我需要調用System.exit(0);
就在Java命令行應用程序的main
方法結束之前? 如果是這樣,為什么? 如果我總是把它放在0
那么讓它自己退出有什么區別? 有什么不清理的?
提前致謝。
沒有! 您並不總是需要調用System.exit(0)
來結束java程序。 如果您的代碼沒有生成非守護程序線程,則應用程序將在完成主線程任務后自動終止。
如果你的main方法導致產生一些非守護進程線程,當你的main方法到達結束時仍然處於活動狀態並執行某些處理,那么在這些線程完成之前,應用程序將不會被終止。 在這種情況下,如果顯式調用System.exit(0)
,則應用程序將立即終止並終止所有線程。
請參考提及細節的線程的javadoc 。
無需調用System.exit()
,只需從main()
返回即可。 這是退出Java程序的常用習慣用法。
System.exit()
通常被調用以在事物中間終止應用程序(這通常意味着由於致命錯誤而導致異常終止)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.