我看到的所有Java循环字节缓冲区实现都没有扩展java.nio.ByteBuffer,这对我来说是必要的,因为我需要与SocketChannel一起使用。有人知道是否有扩展ByteBuffer的开源实现吗?我尝试编写自己的实现,但当我意识到position和remaining函数是final时,我就陷入了困境,我将覆盖它们以调整head并防止缓冲区溢出异常。在通过套接字通道发送5000条消息时,每个消息都需要将内容复制到线性缓冲区的头部,这会增加约450毫秒或90微秒每个消息(每个消息包含10个数据包,因此每个数据包需要9微秒)。目前,我能想到的唯一方法是覆盖每个方法并重新编写所有内容。有任何想法吗?
buffer().mark(). buffer.position(buffer.limit()).limit(buffer.capacity());
。标记显示了读取可以开始的位置。此外,我的缓冲区容量指南与socket.writebuffer完全相同。 - bestsss