好的,这是问题的要点。 有些人将他们的生命置于 .NET 的垃圾回收器之手,还有一些人则不信任它。
我是那些部分信任它的人之一,只要不是极其性能关键的情况(我知道,我知道... 性能关键 + .net 不是最佳组合),在这种情况下,我更喜欢手动处理我的对象和资源。
我的问题是,有没有关于垃圾回收器在性能方面的效率究竟是高效还是低效的事实?
请不要分享任何基于个人经验的主观意见或可能的假设,我想要客观的事实。我也不希望进行赞成/反对的讨论,因为这不会回答问题。
谢谢。
编辑: 澄清一下,我基本上的意思是:无论我们写什么样的应用程序,资源是否关键,我们都可以忘记一切,让 GC 处理它吗?还是不能?
我想得到一个关于 GC 真正做了什么、没做什么以及可能遇到失败的地方,手动内存管理会成功的场景,如果存在这样的情况,是否有限制?我不知道如何进一步解释我的问题。
我没有任何应用程序的问题,这是一个理论问题。