- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
The capacity of a Queue is the number of elements the Queue can hold. As elements are added to a Queue, the capacity is automatically increased as required through reallocation. The capacity can be decreased by calling TrimToSize.
这是写在MSDN Queue Document中的
现在的问题是,如果我们在一个队列中添加大约 20,000 个项目,那么该队列将一个接一个地出队,直到队列为空。如果我们不调用 TrimToSize 函数,那么队列大小将保持为 20,000,但垃圾收集器会删除数据,因此从技术上讲,不存在内存泄漏,如果我们检查计数或序列化队列,则大小为空队列。 那么我们为什么要调用 TrimToSize 函数呢?
最佳答案
您将队列中对象的 GC 与队列本身的内存“插槽”混淆了。
队列将分配空间来存储所有 20K 引用....这些槽将只是空的,因此不会指向占用更多内存的对象。但是那些“插槽”仍会存在,等待分配给它们的引用。
关于c# - 为什么要调用 Queue 的 TrimToSize 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817856/
我可以使用ArrayList.trimToSize()吗?动态 arrayList 中的方法? 如果我使用它,会发生什么? 我可以在动态 ArrayList 上使用此方法获得任何好处吗? 在这种情况下
我有一个数组列表,它的代码是: ArrayList recentdata=new ArrayList(); 我想将 ArrayList 的大小限制为特定大小,即在我的情况下为 5,当它达到该数字时。这
来自 a recently posted question我遇到了ArrayList#trimToSize()这会将支持数组的大小减小到当前集合的大小。 引用javadoc Trims the cap
我正在运行以下代码,但出现错误 The method trimToSize() is undefined for the type List public class ListPerformance
The capacity of a Queue is the number of elements the Queue can hold. As elements are added to a Que
有没有一种方法可以像通过 ArrayList 的 trimToSize() 方法一样压缩 HashMap? 我能想到的一种方法是遍历当前映射中的所有条目并填充一个新条目,然后用新条目替换原始条目。 有
我认为trimToSize() Java 的 ArrayList 中的方法是不必要的。我的理解是: 让我们取一个整数数组: int[] a = new int[10]; //This allocate
假设我有一个字符串数组列表。我使用了 Function ensureCapacity() 并将其容量设置为 50。 但我只添加了 10 个字符串元素,剩下的 40 个内存被浪费了。 现在我使用 tri
任何想要访问 java.util.ArrayList 工具的用户都必须遵守 java.util.List 中提供的使用契约(Contract)。 但是可以轻松打破这种使用契约并访问方法 trimToS
例如: public void trimToSize() { modCount++; if (size < elementData.length) { elementD
我是一名优秀的程序员,十分优秀!