根据MSDN,.NET框架使用mark&sweep垃圾回收方法。同一页还指出,在32位系统上,地址空间为2GB-这意味着地址空间从32位系统的4GB空间减少了一半。
将可用内存减少一半是stop&copy垃圾回收方法的一个特点,但是.NET使用可以在整个地址空间上运行的mark&sweep-为什么.NET为什么将地址空间减少一半?
这是Windows,而不是.NET。32位Windows保留了操作系统顶部2GB的地址空间,并将应用程序限制为2GB(前提是未使用/ 3GB标志)。
请注意,实际上,这实际上更糟。OutOfMemoryException
即使在具有大量物理内存的64位系统上,一个32位.NET应用程序通常也会开始提高1.2到1.6GB的RAM使用量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句