1

ほとんどすべての再帰関数を反復アプローチに変更できることは誰もが知っていることです。2 つの巨大な数を表す 2 つのリンクリストを追加する例を考えてみましょう。この問題は、再帰 (システム スタックを使用) または反復 (明示的なスタックの使用) アプローチのいずれかによって解決できます。

ここでの私の疑問は-Xms2048MB -Xmx2048M、再帰的アプローチでシステムスタックにすべてのヒープメモリを使用するので、jvm ヒープサイズを指定した場合ですか? 私が明示的なスタックを使用する場合、AFAIKはこれらすべてのメモリを消費する可能性があります。システムスタックメモリがどのように、いつ、どのくらい割り当てられているか、そして少しの仕組みを誰かが教えてくれれば素晴らしいことです。素敵なチュートリアルを紹介することも大いに役立ちます。出来るだけ世界に閉じ込められればそれでjavaいい。ありがとう。

4

1 に答える 1

2

スタック フレームには独自のサイズがあるため、これは発生しません。このサイズは、コマンド ライン パラメータで調整できます-Xss<size>

ヒープ メモリは、このスタック メモリから完全に分離されています。

デフォルトのスタック サイズは、実行している JVM によって異なります

于 2013-07-09T12:32:37.150 に答える