运行时出现内存不足异常
本文关键字:异常 内存不足 运行时 | 更新日期: 2023-09-27 18:19:41
即使使用垃圾收集器,运行时是否可能发生内存不足异常?
有人问我这件事,但我不确定。
是的,如果使用过多内存,就会发生异常。
垃圾收集器只是清除了内存,无论如何你都无法再访问这些内存。
这个答案很明显,也许你问了一些与你的意思不同的问题?如果是,请澄清。
是的,以前确实发生过这种事。
很明显:如果您使用了太多内存,则会触发此异常。
垃圾收集器只是清除无法再访问的数据,并不会以神奇的方式增加可用内存量。
垃圾回收器只声明应用程序根不再引用的"垃圾"对象。如果托管堆已满,并且其中的每个对象仍然由应用程序根引用(意味着应用程序仍然可以访问该对象),则会得到一个OutOfMemoryException
。
我强烈建议您阅读本文,了解GC是如何工作的。关于Finalize
方法的部分也很有趣。