簡體   English   中英

正確結束Java命令行應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM