Netty的ByteBuf.copy()和ByteBuf.duplicate()之间的区别

时间:2018-02-15 08:27:57

标签: java netty

乍一看,它们看起来非常相似。我的理解是0a1a465c-a28d-4926-8a79-81ba83408c52.1.a 0a1a465c-a28d-4926-8a79-81ba83408c52.2.a 0a1b8b67-6c03-47c6-9af9-0e0091148e06.1.a 0a1b8b67-6c03-47c6-9af9-0e0091148e06.2.a 创建了基础内容的副本,而copy()没有。那是准确的吗?在什么情况下你会使用一个与另一个?

1 个答案:

答案 0 :(得分:2)

复制()

  

返回此缓冲区可读字节的副本。修改返回的缓冲区或此缓冲区的内容根本不会相互影响。

<强>重复()

  

返回共享此缓冲区的整个区域的缓冲区。修改返回的缓冲区或此缓冲区的内容会影响彼此的内容,同时它们维护单独的索引和标记。此方法不会修改此缓冲区的readerIndex或writerIndex。

当您想要完全独立复制ByteBuf对象时,请使用copy()方法。

可以从ByteBuf documentation

找到更多信息