2017-05-26 99 views
-4

我想編寫一個應用程序,它應該永遠運行。 Webservice是這樣做的一種方式,但我不想將其作爲webservice運行。 我只想運行永久運行的應用程序中的一些線程,我不想處理任何webRequest。我們如何讓一個Java應用程序永遠運行

你能告訴別的什麼方法嗎?

+2

運行它,不要停止它。爲什麼Java應用程序永遠不會運行? –

+4

'while(true){}' - 不是你想要的我猜 –

+1

或者如果你喜歡循環while while循環'for(;;){}' –

回答

0

您可以讓任何應用程序使用線程永久運行(最好通過線程池),但您應該非常關心GC。因此,您可能需要密切關注實例管理,Heap定期週轉並微調應用程序。希望這會幫助你!

3

有一個類,看起來像下面的一個主要方法:

final class Forever 
{ 
    private Forever() 
    {} 

    public static void main (String [] args) 
    { 
     while (true) 
     { 
      try 
      { 
       // don't do anything here 
       // especially do NOT connect to any databases 
      } 
      catch (Throwable t) 
      { 

      }  
     } 
    } 
} 

將這個java代碼上的空間探測,運行Linux,有無限的能量來源。確保它保持清晰的行星,爆炸的星星,黑洞等。

注意:不允許人類連接到探頭。

這可能不會得到你永遠的渴望;然而,它可能會讓它一直持續到宇宙的盡頭。

更新: 到目前爲止,我一直在運行這對我的發展環境有關 10分鐘,它仍在運行!我可能很快就會將此推送給QA。

+0

基本上我想在一個持久隊列上運行幾個隊列監聽器,並且這些應該永遠運行。但是看到GC和其他問題,上述解決方案似乎不可行。 –

+0

你錯了。不幸的是,如果有足夠的時間,但在宇宙結束之前仍然存在,根據下面的維基百科文章,探針最終會通過量子隧道效應和引力子發射到鐵-56核中:https://en.wikipedia .ORG /維基/ Future_of_an_expanding_universe#Matter_decays_into_iron。請在將它們發佈到公共interweb上之前,直接獲得您的事實。 –

相關問題