個人的な理解にC#のヒープとスタック

まず、スタック(スタック)の解釈は、コンパイルの良いメモリヒープ(ヒープ)の間に割り当てられている第二に、スタックの違いは、通常、私たちはコードを実行するステップを維持し、動的にプログラムの実行中にメモリを割り当てられている:AddFive()メソッド、int型、p値としてヒープ上の変数は、ほとんどがそう上のオブジェクト、データとを格納しています。メモリに格納されたデータの参照ヒープの種類、;自動的GCヒープ管理によって解放使用後のトップ要素は、データストレージのGCスタック型のクリーンアップ値のメモリ内にあるときに、GCの管理が所有していない、自分の管理を持っていないスタックメモリユニット店舗のみヒープメモリ割り当て内のオブジェクトと作成されたオブジェクトのクラスのインスタンスとして破壊された場合に、カテゴリによってオブジェクトの異なるメンバーが異なるメモリ領域に割り当てられ、ポインタの値型と参照型がに割り当てられていますスタック、オブジェクトのインスタンスの参照タイプが管理ヒープに割り当てられ、静的メンバは、グローバルデータ領域に割り当てられています。スタック上のポインタは、ヒープ上のオブジェクトを指します。オブジェクトの使用を終了するとき、接触参照と実際のオブジェクトは、このようにオブジェクト休止を引き起こし、切断されます。スタック自己メンテナンスので、そのメモリ管理は、オペレーティングシステムを介して行うことができ、冬眠時にヒープ・オブジェクトは、オブジェクトによって占められたメモリを解放し、特定のアルゴリズムガベージコレクタ(GC)を用いて回収する必要があります。

おすすめ

転載: www.cnblogs.com/xuzy-x/p/11707445.html