[英]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.