簡體   English   中英

在新過程中啟動Java應用程序

[英]Launch Java application in new process

我有一個Java應用程序,例如用“ ant myapp”啟動。 現在,我希望該應用程序能夠自我復制,即在新進程中啟動它的新實例。

我知道應該用Processbuilder或Runtime.exec()完成。

如果我只是在Processbuilder或Runtime.exec('ant myapp')中調用,它將啟動一個新的JVM並在一個單獨的進程中運行它。 這是正確的嗎?

但是我也聽說,可以在新進程中但在同一JVM中運行該應用程序。 我怎樣才能做到這一點?

如果我沒有新的JVM,則會消耗較少的內存。 但是,如果新進程在相同的JVM中運行,有什么不利條件? 我在應用程序中有很多套接字連接到服務器。 因此,當不創建新的JVM時,這可能是一個問題嗎?

看看ExecutorService 您可以合並它們,設置超時等。

至於套接字,內存和CPU:您應該分析應用程序,以確保正確使用有限的資源。 對於所有Java應用程序都是如此。 您無法通過猜測或在此處提問來知道答案。 每種情況都不同。 唯一知道的方法是通過分析來獲取一些數據。

暫無
暫無

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

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