我写我自己的ArrayList实现诸如如何实现ArrayList的低内存系统中的内存块的小块,但大块的巨大序列可用不可用
ArrayList<T>
{
int capacity;
int[] element_array;
int size();
boolean insert();
boolean insertAtIndex();
boolean remove(int element);
boolean removeAtIndex(int index,int element);
resize();
// when capacity is filled 75% ,
//create a new array with double size and relocate all element from existing array to new array
}
和我的实现调整大小的创建新的双倍大小的数组。 现在如果我正在处理小内存系统,内存可能已分配给多个对象,并且需要将我的阵列加倍。 由于系统内存不足,内存可能仍然可用于创建一个百万大小的数组,但顺序内存不可用于分配。
我该如何处理这种情况?
这是一个假设情景,但仍然希望处理它。 建议/指导方针。
或我缺少数组内存分配的东西?
我通常不会看到它正在讨论如何扩大集合时,JVM实际上引擎盖下分配内存。你能详细说明为什么这对你很重要吗? –
@TimBiegeleisen:我明白,这只是一个假设情景,但如果出现需要,我想知道数据结构实施的熟练程度和适当性,但仍然是假设的.i必须编写我自己的实现来部署在内存不足的系统上。 –
https://en.wikipedia.org/wiki/Unrolled_linked_list? –