簡體   English   中英

奇怪的行為在循環中重新運行Java應用程序

[英]Strange behavior re-runing java application in a loop

Unix守護程序循環運行一個腳本,該腳本調用一個Java程序:java {java_args} myClas.jar

Java程序是具有多個線程的繁重程序。

問題很奇怪:第一次執行按預期工作。 但是第二次執行被卡在某些地方,我找不到原因(很難調試)。

是否有可能在第一次執行完成后仍然有未清理的資源或該執行留下的線程?

如果是,是否可以在過程完成后立即清理並殺死所有內容?

如果用資源來表示線程,則不行。 當VM關閉時,堆中的所有內容,所有線程,對象和監視器都將被丟棄。 但是,如果您依賴於文件的存在/不存在進行鎖定或類似操作,則可能發生死鎖。 另外,啟動第二個進程時,第一個進程是否仍在運行?

如果您的Java進程在第二次運行中卡住,則可以將jvisualvm附加到它上,並且應該能夠確定它的卡住位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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