当前位置: 首页 > 编程语言 > C#

C#学习教程:.NETMaxMemoryuses2GBevenforx64assembly分享

时间:2023-04-10 18:11:23 C#

.NETMaxMemoryuses2GBevenforx64assembly我读过(http://blogs.msdn.com/joshwil/archive/2005/08/10/450202.aspx).NET中对象的最大大小为2GB。我是否正确地假设如果我有一个占用256MB内存的对象,因为它是一个引用类型,我可以拥有这些256MB对象的数组,其中所有对象一起可能占用>2GB的内存,只要大小参考数组的值低至2GB?是的,你的假设是正确的。2GB限制分别适用于每个对象。用于所有对象的总内存可能超过2GB。(运行时是否能够为您的需要分配足够的内存是另一回事。我怀疑它能否在32位机器上找到完整的2GB备用空间,但在64位机器上应该不是问题。)“在.NET4及更早版本,即使在64位进程中,任何对象的大小都不能超过2GB。但是,对于某些使用大型数组的工作负载,此大小限制可能会受到限制。因此,.NET4.5支持提高数组的限制例如,在64位进程中,数组可以大于2GB。这意味着,例如,您可以分配一个Int32.MaxValueInt32数组,即使这样的数组将消耗8GB。.NET中的大对象被分配.NET4.5也看到了LOH的显着性能改进,包括使用更好的算法来管理堆中的空闲内存。http://msdn.microsoft.com/en-us/library/hh285054(v=VS.110).aspxhttp://blogs.msdn.com/b/somasegar/archive/2012/05/16/net-improvements-for-cloud-and-server-applications.aspx以上是C#学习教程:.NETMaxMemoryuses2GBevenforx64assemblies所有内容分享,如果对大家有用还需要进一步了解C#学习教程,希望大家多多关注—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: