135得票1回答
Python垃圾收集器文档说明

我正在寻找详细描述Python垃圾回收机制的文档。 我对每个步骤中做了什么感兴趣。这3个集合中有哪些对象?每个步骤中删除了哪些对象类型?为查找引用循环使用了什么算法? 背景:我正在实现一些需要在短时间内完成的搜索。当垃圾回收器开始收集最老一代时,它比其他情况下要“慢得多”。 它花费的时间比...

131得票16回答
System.gc() 什么时候会发挥作用?

我知道Java中的垃圾回收是自动的。但我了解到,如果在代码中调用System.gc(),JVM可能会决定在那个时刻进行或不进行垃圾回收。这是如何精确工作的?JVM基于什么准则/参数来决定是否执行GC,当它看到System.gc()时? 是否有任何例子表明将此放入代码中是一个好主意?

131得票8回答
Haskell需要垃圾回收器吗?

我好奇为什么Haskell实现要使用GC。 在纯函数式语言中,我想不出需要使用GC的情况。这只是一种优化以减少复制,还是确实有必要? 我正在寻找会泄漏的示例代码,如果没有GC存在。

126得票2回答
在C#中是否有必要显式地删除事件处理程序?

我有一个类提供了一些事件。这个类被全局声明,但在全局声明时没有实例化——它是在需要它的方法中按需实例化的。 每当该类在某个方法中被需要时,它都会被实例化并注册事件处理程序。在方法作用域结束前是否有必要明确地移除事件处理程序? 当方法作用域结束时,类的实例也会结束。保留与即将结束的实例注册的...

125得票5回答
为什么要关注大对象堆(Large Object Heap,LOH)?

我已经了解了代和大对象堆,但我仍然无法理解拥有大对象堆的意义(或益处)是什么? 如果CLR只依靠第二代来存储大型对象(考虑到Gen0和Gen1的阈值过小),可能会出现什么问题(在性能或内存方面)?

125得票17回答
在C#中强制进行垃圾回收的最佳实践

根据我的经验, 大多数人会告诉你强制垃圾回收是不明智的。但在某些情况下,如果你正在处理一些不总是被0代收集的大型对象,且内存是一个问题,那么强制回收是否可行呢?是否有最佳实践可遵循呢?

121得票10回答
理解术语和概念 - RAII(资源获取即初始化)的含义

能否请C++开发人员给我们一个好的RAII(资源获取即初始化)的描述,解释其重要性,并说明它是否与其他语言相关? 我确实有一点了解。我相信它代表"Resource Acquisition is Initialization",但是这个名字与我对RAII的(可能不正确的)理解不符:我认为RAI...

118得票4回答
Java 8 的默认垃圾收集器

Java 8的默认垃圾回收器是什么? 当我检查JMX Beans时,它们显示新生代使用并行收集器,老年代使用串行收集器。

118得票5回答
Go语言使用什么样的垃圾回收机制?

Go是一种垃圾回收语言: http://golang.org/doc/go_faq.html#garbage_collection 这里说它是标记-清除垃圾回收器,但没有深入探讨细节,并且正在研究替代方案……然而,自从Go发布以来,这段文字似乎并没有更新。 它仍然是标记-清除吗?它是保守...

117得票4回答
JavaScript中减少垃圾收集器活动的最佳实践

我有一个相当复杂的Javascript应用程序,其主循环每秒调用60次。根据Chrome开发工具中的内存时间轴输出显示,似乎有很多垃圾回收正在进行,这经常影响应用程序的性能。 因此,我正在尝试研究减少垃圾收集器所需工作量的最佳实践。(我在网上找到的大多数信息涉及避免内存泄漏,这是一个略微不同...