gpt4 book ai didi

c# - .Net 中创建的内存不足异常对象在哪里?

转载 作者:行者123 更新时间:2023-11-30 20:50:13 24 4
gpt4 key购买 nike

我有一个问题。据我所知在.net中内存不足异常可以在以下3种情况下引发

  1. 拳击
  2. 创建数组
  3. 创建对象

通常在托管堆碎片化或没有足够的空间来容纳对象时引发。我的问题是如果托管堆不足,那么 OutOfMemoryException 对象是在哪里创建的?它不是在托管堆上创建的吗? .Net 框架如何确保堆上始终有足够的空间来创建 OutOfMemoryException 对象?

请帮忙。我可能误会了什么。

最佳答案

.NET 框架中的堆由 .NET 框架本身管理,因此它为引发此类异常保留了必要的空间。例如,对于 StackOverflow 也是如此。

事实上,客户端可能无法处理这两个异常,或者当您在这种情况下应用时处理它们是危险的(在 OutOfMemory 异常的情况下) .仍然有一些应用程序可以处理它并尝试以某种方式“保护”客户端,但不能保证其结果,您只能尽力而为。

关于c# - .Net 中创建的内存不足异常对象在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22713537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com