再帰はプロセッサとRAMに大きな影響を与えますか?つまり、私のスレッドの1つにメソッドがあり、それ自体を呼び出す可能性が非常に高いということです。1秒間に約1回セルフコールできるとしましょう。私のアプリは停止せずに少なくとも24時間実行する必要があるため、(60 * 60 * 24)86400の自己呼び出しメソッドが提供されます。
2番目の(メイン)スレッドにどのように影響しますか?
私の悪い英語とコードがないことをお詫びしますが、私は家から書いていません。
86400 番目の呼び出しの前に再帰呼び出しの文字列を終了する return ステートメントがない場合、スタックに再帰呼び出しが多すぎるため、スタック オーバーフロー エラーが発生する可能性があります。可能であれば、反復ソリューションを実装してみてください。
それがあなたの問題に適しているかどうかはわかりませんが、基本的に1秒に1回実行する必要があると言っているので、スケジューラーが役立つように思えます。Quartz Schedulerを使用してみてください。
ジョブを作成し、単純なトリガーまたは cron トリガーを使用して、毎秒永久に実行するように指示できます。Quartz のドキュメント。
Java では、多くの場合、ループを使用する方が再帰を使用するよりも効率的です。再帰が最も効率的な場合もあります。
1 つのプロセッサで、1 秒あたり 1,000 万回または 1 日あたり数兆回の呼び出しを簡単に行うことができます。86400 はそれほど多くないので、心配する必要はありません。
1 秒間に約 1 回自己呼び出しできるとしましょう。
それはあまり意味がありません。ループを使用することは、多くのアプローチです。終了時に戻りたい場合にのみ、再帰を使用してください。