【发布时间】:2016-01-11 19:30:48
【问题描述】:
我正在尝试使用ByteBuffer 作为类的内部存储。我想从调用者那里抽象出flip() 和ByteBuffer 操作,但也不想使用slice(),因为它会产生额外的垃圾。
是否有任何替代方案或设计建议?
【问题讨论】:
-
您能否详细说明您想如何分割
ByteBuffer?如果您保留顶级ByteBuffer,那实际上并不是任何额外的垃圾。 -
假设我有一个类:Class X { ByteBuffer get(){ return temp.slice(); } void set(ByteBuffer in){ temp.clear(); //复制 temp.flip() } } 我怎样才能重写 get 使得我不创建垃圾,而不是给调用者一个调用者需要翻转的字节缓冲区
标签: java performance garbage-collection bytebuffer low-latency