代码之家  ›  专栏  ›  技术社区  ›  Skuge

Java中的无限字节缓冲区

  •  2
  • Skuge  · 技术社区  · 15 年前

    我正在开发一个程序,在这个程序中,我压缩了大量的信息,并将其存储在缓冲区中的字节中。我不能用 ByteBuffer 因为我不知道最后的尺寸。

    有什么更好的方法可以实现这一点?

    3 回复  |  直到 13 年前
        1
  •  12
  •   Pointy    15 年前

    怎么样 ByteArrayOutputStream ?当然,这并不是很方便,但它会满足你的需要。收集完字节后,可以弹出一个字节数组。

        2
  •  2
  •   user207421    15 年前

    您应该将大量信息存储在文件或数据库中,而不是内存中。你迟早会失去记忆。

        3
  •  1
  •   Peter Lawrey    15 年前

    您可以使用Apache Mina IOBuffer 然而,它的调整算法相当昂贵。

    我要做的是使用一个直接字节缓冲区,您不需要知道它将有多大,因为未使用的空间会消耗虚拟内存,而不是堆,甚至是主内存。在64位机器上,虚拟内存非常便宜。

    你知道最终尺寸不会比原始尺寸大多少。

    推荐文章