Javaのメモリモデル - スタックとヒープの違い
その他
2019-07-24 04:33:22
訪問数: null
差分:メモリ割り当て戦略(三種類)
- スタティックメモリは:ランタイムコンパイル時に各データオブジェクトのためのストレージスペース要件を決定します。コンパイル時に固定された空間の割り当ては、それが再帰的/ネストされたコードを許可していません。
- スタックストレージ:データ領域のニーズは、コンパイル時間が不明である、実行 -timeモジュールは、入口の大きさを決定します。
- ストレージスタック:コンパイル時または実行時に、モジュールは、入口のサイズを決定することができない、ダイナミックアロケーション。例えば:可変長文字列またはオブジェクト・インスタンス
両者の差:
- 管理:ヒープはGCに必要な、スタックは自動的に解除されます
- スペース:ヒープ>スタック
- 関連の破片:フラグメントが生成されたスタック、ヒープの断片化よりもはるかに少ない生成しました
- 割当:スタックは、静的/動的割り当てをサポートしています。ヒープは、動的割り当てをサポートしています
- 効率性:効率スタック>ヒープ効率
転載: www.cnblogs.com/starstarstar/p/11234333.html