就在前几天,我正在调查一起内存泄漏事件,在不到两分钟的时间里,应用程序从~50MB膨胀到~130MB。原来问题出在ConcurrentQueue类上。在内部,该类存储数组的链接列表。当一个项从ConcurrentQueue中出列时,数组中的索引会被颠倒,但该项仍保留在数组中(即它没有设置为null)。在足够多的入队/出队之后,整个数组节点都会被删除,所以从技术上讲这并不是泄漏,但如果将大型对象放入ConcurrentQueue中,这可能很快就会失控。文档中没有注意到这种危险。
我想知道基类库中还有哪些潜在的内存缺陷?我知道Substring one (也就是说,如果你调用substring并保持结果不变,整个字符串仍然在内存中)。你还遇到过其他人吗?
https://stackoverflow.com/questions/2678165
复制相似问题