【问题标题】:What's the difference between ChannelBuffer.copy() and ChannelBuffer.duplicate() in nettynetty 中 ChannelBuffer.copy() 和 ChannelBuffer.duplicate() 有什么区别
【发布时间】:2012-04-19 01:52:47
【问题描述】:

ChannelBuffer.copy() 和 ChannelBuffer.duplicate() 有什么区别?

在Multiple handlers in netty 我最终遇到了一个问题无助于知道我应该使用哪一个。

【问题讨论】:

    标签: java netty


    【解决方案1】:

    copy() 创建一个全新的缓冲区(逐字节)。

    duplicate() 创建一个缓冲区,该缓冲区共享原始缓冲区的数据,但具有自己的索引。

    【讨论】:

    • 我什么时候应该使用一个而不是另一个?例如,在stackoverflow.com/questions/10197714/multiple-handlers-in-netty 中,另一个处理程序似乎正在修改数据,而异步操作需要从原始缓冲区中读取。我应该使用 copy() 还是 duplicate()?
    • 在这种情况下,由于您不想修改缓冲区,您只想在HexDumpProxyInboundHandler 上使用另一个处理程序,那么您只需要使用duplicate()。基本上,除非您有需要使用copy(),否则请使用duplicate(),因为它会创建一个全新的缓冲区。
    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 2022-01-19
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 2022-01-21
    相关资源
    最近更新 更多