3

CLR マネージド ヒープの問題を明確にしたいと思います。ラージ オブジェクト ヒープとスモール オブジェクト ヒープの 2 つのオブジェクト管理ヒープがあります。サイズが 85k バイトを超えるオブジェクトは LOH に配置されることがわかっています。SOH には 3 つの世代 (0、1、2) があります。LOH は SOH (第 2 世代オブジェクト) の一部ですか、それとも常に第 2 世代のオブジェクトを含む別のヒープですか? LOH は、SOH の第 2 世代オブジェクトと共にクリアする必要がありますか?

4

1 に答える 1

6

小さなオブジェクト ヒープには、時々チェックされる世代があります。コレクションの最後に、このヒープは断片化されるため、圧縮する必要があります。大きなオブジェクトがこのヒープにあると、最適化に長い時間がかかります。そこで彼らは、このコストのかかる最適化操作を免除する別のヒープ Large Object Heap を用意することにしました。

本当に良い本があります: ftp://support.red-gate.com/ebooks/under-the-hood-of-net-memory-management-part1.pdf

55ページ

于 2013-09-09T08:48:22.843 に答える