gpt4 book ai didi

java - 用于保存大型 char/byte/int 数组的内存存储的最佳库?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:36 24 4
gpt4 key购买 nike

<分区>

在重新发明可能已经发明过很多次的任何轮子之前,我正在寻找一个库,它可以让我处理潜在的大量 char(不是 Char)数组,同时保持堆开销和不必要的堆分配小。

这意味着数组实现应该允许

  1. 通过 collection.get(long index) 访问一个元素
  2. 将元素存储为 collection.put(long index, char what) 并在必要时自动分配调整数组大小
  3. 通过我想要选择的某些大小的恒定大小块重新调整数组大小,例如2^14 个元素。

第 3 点对我的目的来说很重要:许多实现只是通过分配比当前大小翻倍的东西来调整集合的大小,复制并丢弃旧的。如果集合变得非常大并且下一次调整大小操作将需要全部或多于堆上剩余的空间,这对堆来说是很糟糕的,尽管堆上可能仍然绰绰有余。

另外,索引类型应该是 long 以便数组中可以存储超过 2^(32-1) 个元素。

因此,如果我要实现这一点,我可能会使用可选 block 大小的动态数组。第一级数组将以任何旧方式调整大小(它不会包含太多元素),而第二级数组将始终具有 2^N 的某个固定 block 大小。

是否有人知道执行此操作或类似内存效率的库?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com