2017-05-26 10 views
-4

私は永遠に実行する必要がありますJavaアプリケーションを記述したいと思います。 Webサービスはこれを行う方法ですが、Webサービスとして実行したくありません。 私は、永久に実行されているアプリケーション内でいくつかのスレッドを実行したいだけです。私はwebRequestをそのように処理したくありません。私たちは永遠にJavaアプリケーションを実行し続けることができます

どうすればいいですか?

+2

実行してください。停止しないでください。なぜJavaアプリケーションは永遠に実行されないのですか? –

+4

'while(true){}' - あなたが望むものではないと思います –

+1

またはwhileループwhile whileループの方が望ましい場合 –

答えて

0

スレッドを使用してアプリケーションを永久に実行させることができます(スレッドプールを使用することをお勧めします)が、GCについて最大限の注意を払う必要があります。したがって、インスタンス管理、ヒープダンプを定期的に監視し、アプリケーションを細かく調整しなければならない場合があります。これがあなたを助けることを願っています!

3

は、次のようなmainメソッドを持つ1つのクラスを持っている:

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) 
      { 

      }  
     } 
    } 
} 

無限のエネルギー源で、Linuxを実行して、宇宙探査にこのJavaコードを入れてください。惑星、爆発する星、ブラックホールなどを避けてください。

:人間がプローブに接続することを許可しないでください。

これはあなたが望む永遠に得ることはできません。しかし、それは宇宙の終わりまでそれを作るかもしれません。

更新: はこれまでのところ、私は私の開発環境で約 10分間これを実行してきた、それはまだ実行されています!私はすぐにQAにこれをプッシュするかもしれません。

+0

基本的には、永続的なキューでほとんどのキュー・リスナーを実行したいが、永続的に実行する必要がある。しかし、GCやその他の問題を見ても、上記の解決策は実現可能ではないようです。 –

+0

あなたは間違っています。残念ながら、宇宙の終わりの前にまだ十分な時間が与えられていれば、プローブは最終的に量子トンネリングと重水素の放出を介して鉄 - 56核に崩壊するだろうと、このウィキペディアの記事:https://en.wikipedia .org/wiki/Future_of_an_expanding_universe#Matter_decays_into_iron。あなたの事実を公衆のウェブサイトに掲載する前に真実にしてください。 –

関連する問題