[英]Who should call ByteBuffer.flip()
我非常了解ByteBuffer
何时需要翻转。 我的问题是指向在put
-er和get
-er之间建立隐式契约以减少错误。
推杆在将缓冲区提供给吸气剂之前会flip
吗? 还是在接收缓冲区时吸气剂flip
?
我倾向于推杆翻转缓冲区,因为有意义的是,getter始终会接收准备好获取的缓冲区。
有没有先例? 你是做什么?
据我所知,最佳实践是将缓冲区保持在可读/可放置状态,仅在写入或获取之前立即执行flip()
,之后立即执行compact()
。 作者/获取者应该自己做,而不要依赖其他任何人为他做。 注意, compact()
应该在finally
块中调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.