4

DomainA、DomainB、および DomainC の 3 つのドメインを作成する .Net アプリケーション App.exe があるとします。

CLR が App.exe プロセスにいくらかの量の物理メモリを割り当て、このメモリが 3 つのドメイン間である程度の割合で分割されていると言えますか?

それとも、新しいドメインごとに、App.exe や他のドメインに割り当てられたメモリとは別に、メモリの新しい個別の部分が与えられますか?

簡単に言えば、論理メモリの割り当てを、曲を含む (シーケンシャル) テープ (曲は AppDomans)、またはファイルがランダムに配置され、ディスク上の場所がわかっている一種の FAT32 として想像できますか?

4

2 に答える 2

2

CLR によって管理されるメモリ全体はプロセス グローバルです。ここでは、AppDomains は役割を果たしません。AppDomain の数に関係なく、割り当ては常に同じグローバル ヒープから行われます。ヒープは、要求に応じて拡大および縮小します。メモリの静的割り当てはありません。

私にはわからない理由で、JVMはヒープサイズに静的割り当てを使用していると思います。CLRは違います。

于 2013-08-30T11:02:02.163 に答える