ask*_*der 13 java bytebuffer erase
我试图"清理"a ByteBuffer为所有零字节(全部0x00).我试图遍历缓冲区中的所有位置并将它们设置为0x00,但效率很差.有没有更好的方法来快速清除ByteBuffer- 类似于什么BitSet.clear()?
请注意,ByteBuffer.clear()在这种情况下,对我来说这不是一个合适的解决方案 - 我必须擦除缓冲区内的所有数据,而不仅仅是将指针重置为开头.
任何提示?
编辑:ByteBuffer用作哈希表的一部分,它维护哈希表条目的引用.每次需要刷新哈希表时,我都必须重置哈希表条目以便以后的哈希表插入.由于以随机方式访问哈希表,我不能简单地清除()字节缓冲区的状态.
您是否尝试过使用其中一种ByteBuffer.put(byte[])或ByteBuffer.put(ByteBuffer)多种方法一次写入多个零?然后,您可以使用预先填充零的数组或缓冲区,以100或1000字节或其他任何方式迭代缓冲区.
缺点:这是一个可选操作,因此并非所有ByteBuffer实现都需要提供它...
| 归档时间: |
|
| 查看次数: |
9724 次 |
| 最近记录: |