public final class Unpooled
extends java.lang.Object
ByteBuf
。
import static io.netty.buffer.Unpooled
.*;
ByteBuf
heapBuffer = buffer(128);
ByteBuf
directBuffer = directBuffer(256);
ByteBuf
wrappedBuffer = wrappedBuffer(new byte[128], new byte[256]);
ByteBuf
copiedBuffer = copiedBuffer(ByteBuffer
.allocate(128));
buffer(int)
分配一个新的固定容量堆缓冲区。 directBuffer(int)
分配一个新的固定容量直接缓冲区。 wrappedBuffer()
。
如果要创建由多个数组组成的缓冲区以减少内存副本的数量,则可能需要仔细查看接受可变长度的方法。
copiedBuffer()
。
使用此操作将多个缓冲区合并到一个缓冲区也很方便。
Modifier and Type | Field and Description |
---|---|
static java.nio.ByteOrder |
BIG_ENDIAN
大端字节顺序。
|
static ByteBuf |
EMPTY_BUFFER
容量为
0 缓冲区。
|
static java.nio.ByteOrder |
LITTLE_ENDIAN
小端字节顺序。
|
Modifier and Type | Method and Description |
---|---|
static ByteBuf |
buffer()
创建一个具有相当小的初始容量的新的大端Java堆缓冲区,可根据需要无限扩展其容量。
|
static ByteBuf |
buffer(int initialCapacity)
使用指定的
capacity 创建新的大端Java堆缓冲区,该缓冲区根据需要无限扩展其容量。
|
static ByteBuf |
buffer(int initialCapacity, int maxCapacity)
用指定的
initialCapacity 创建一个新的大端Java堆缓冲区,该缓冲区可能长达
maxCapacity 新缓冲区的
readerIndex 和
writerIndex 是
0 。
|
static CompositeByteBuf |
compositeBuffer()
返回没有组件的新的big-endian复合缓冲区。
|
static CompositeByteBuf |
compositeBuffer(int maxNumComponents)
返回没有组件的新的big-endian复合缓冲区。
|
static ByteBuf |
copiedBuffer(byte[]... arrays)
创建一个新的大端缓冲区,其内容是指定的
arrays 的合并副本。
|
static ByteBuf |
copiedBuffer(byte[] array)
创建一个新的大端缓冲区,其内容是指定的
array 的副本。
|
static ByteBuf |
copiedBuffer(byte[] array, int offset, int length)
创建一个新的大端缓冲区,其内容是指定的
array 的子区域的副本。
|
static ByteBuf |
copiedBuffer(ByteBuf... buffers)
创建一个新的缓冲区,其内容是指定的
buffers 可读字节的合并副本。
|
static ByteBuf |
copiedBuffer(ByteBuf buffer)
创建一个新的缓冲区,其内容是指定的
buffer 可读字节的副本。
|
static ByteBuf |
copiedBuffer(java.nio.ByteBuffer... buffers)
创建一个新的缓冲区,其内容是指定的
buffers '切片的合并副本。
|
static ByteBuf |
copiedBuffer(java.nio.ByteBuffer buffer)
创建一个新的缓冲区,其内容是指定的
buffer 的当前片的副本。
|
static ByteBuf |
copiedBuffer(char[] array, java.nio.charset.Charset charset)
创建一个新的大端缓冲区,其内容是在指定的
array 编码的指定
charset 。
|
static ByteBuf |
copiedBuffer(char[] array, int offset, int length, java.nio.charset.Charset charset)
创建一个新的大端缓冲区,其内容是在指定的
array 编码的指定
charset 。
|
static ByteBuf |
copiedBuffer(java.lang.CharSequence string, java.nio.charset.Charset charset)
创建一个新的大端缓冲区,其内容是在指定的
string 编码的指定
charset 。
|
static ByteBuf |
copiedBuffer(java.lang.CharSequence string, int offset, int length, java.nio.charset.Charset charset)
创建一个新的大端缓冲区,其内容是在指定的
string 编码的指定
charset 。
|
static ByteBuf |
copyBoolean(boolean... values)
创建一个包含指定布尔值序列的新的大端缓冲区。
|
static ByteBuf |
copyBoolean(boolean value)
创建一个包含指定布尔值的新的单字节大端缓冲区。
|
static ByteBuf |
copyDouble(double... values)
创建一个新的大端缓冲区,它包含一系列指定的64位浮点数。
|
static ByteBuf |
copyDouble(double value)
创建一个新的8字节大端缓冲区,该缓冲区保存指定的64位浮点数。
|
static ByteBuf |
copyFloat(float... values)
创建一个新的大端缓冲区,其中包含一系列指定的32位浮点数。
|
static ByteBuf |
copyFloat(float value)
创建一个新的4字节大端缓冲区,该缓冲区保存指定的32位浮点数。
|
static ByteBuf |
copyInt(int... values)
创建一个包含指定32位整数序列的大端缓冲区。
|
static ByteBuf |
copyInt(int value)
创建一个新的4字节大端缓冲区,其中包含指定的32位整数。
|
static ByteBuf |
copyLong(long... values)
创建一个新的大端缓冲区,其中包含指定的64位整数序列。
|
static ByteBuf |
copyLong(long value)
创建一个新的8字节大端缓冲区,该缓冲区保存指定的64位整数。
|
static ByteBuf |
copyMedium(int... values)
创建一个新的大端缓冲区,其中包含指定的24位整数序列。
|
static ByteBuf |
copyMedium(int value)
创建一个新的3字节的big-endian缓冲区,该缓冲区保存指定的24位整数。
|
static ByteBuf |
copyShort(int... values)
创建一个新的大端缓冲区,其中包含指定的16位整数序列。
|
static ByteBuf |
copyShort(int value)
创建一个新的2字节大端缓冲区,该缓冲区保存指定的16位整数。
|
static ByteBuf |
copyShort(short... values)
创建一个新的大端缓冲区,其中包含指定的16位整数序列。
|
static ByteBuf |
directBuffer()
以合理的小初始容量创建新的大端直接缓冲区,根据需要无限扩展其容量。
|
static ByteBuf |
directBuffer(int initialCapacity)
使用指定的
capacity 创建新的大端直接缓冲区,该缓冲区根据需要无限扩展其容量。
|
static ByteBuf |
directBuffer(int initialCapacity, int maxCapacity)
用指定的
initialCapacity 创建一个新的big-endian直接缓冲区,该缓冲区可能长达
maxCapacity 。
|
static ByteBuf |
unmodifiableBuffer(ByteBuf... buffers)
|
static ByteBuf |
unmodifiableBuffer(ByteBuf buffer)
已过时。
|
static ByteBuf |
unreleasableBuffer(ByteBuf buf)
|
static ByteBuf |
wrappedBuffer(byte[]... arrays)
创建一个新的大端组合缓冲区,它将指定的数组进行封装而不复制它们。
|
static ByteBuf |
wrappedBuffer(byte[] array)
创建一个包含指定
array 的新的大端缓冲区。
|
static ByteBuf |
wrappedBuffer(byte[] array, int offset, int length)
创建一个新的大端缓冲区,它包装指定的
array 的子区域。
|
static ByteBuf |
wrappedBuffer(ByteBuf... buffers)
创建一个新的big-endian复合缓冲区,它包装指定缓冲区的可读字节而不复制它们。
|
static ByteBuf |
wrappedBuffer(ByteBuf buffer)
创建一个包装指定缓冲区可读字节的新缓冲区。
|
static ByteBuf |
wrappedBuffer(java.nio.ByteBuffer... buffers)
创建一个新的big-endian复合缓冲区,它包装指定的NIO缓冲区的片段而不复制它们。
|
static ByteBuf |
wrappedBuffer(java.nio.ByteBuffer buffer)
创建一个包装指定的NIO缓冲区当前分片的新缓冲区。
|
static ByteBuf |
wrappedBuffer(int maxNumComponents, byte[]... arrays)
创建一个新的大端组合缓冲区,它将指定的数组进行封装而不复制它们。
|
static ByteBuf |
wrappedBuffer(int maxNumComponents, ByteBuf... buffers)
创建一个新的big-endian复合缓冲区,它包装指定缓冲区的可读字节而不复制它们。
|
static ByteBuf |
wrappedBuffer(int maxNumComponents, java.nio.ByteBuffer... buffers)
创建一个新的big-endian复合缓冲区,它包装指定的NIO缓冲区的片段而不复制它们。
|
static ByteBuf |
wrappedBuffer(long memoryAddress, int size, boolean doFree)
创建一个包装指定内存地址的新缓冲区。
|
public static final java.nio.ByteOrder BIG_ENDIAN
public static final java.nio.ByteOrder LITTLE_ENDIAN
public static final ByteBuf EMPTY_BUFFER
0
缓冲区。
public static ByteBuf buffer()
public static ByteBuf directBuffer()
public static ByteBuf buffer(int initialCapacity)
capacity
创建新的大端Java堆缓冲区,该缓冲区根据需要无限扩展其容量。
新缓冲区的readerIndex
和writerIndex
是0
。
public static ByteBuf directBuffer(int initialCapacity)
capacity
创建一个新的big-endian直接缓冲区,它根据需要无限扩展其容量。
新缓冲区的readerIndex
和writerIndex
是0
。
public static ByteBuf buffer(int initialCapacity, int maxCapacity)
initialCapacity
创建一个新的大端Java堆缓冲区,该缓冲区可能长达
maxCapacity
新缓冲区的
readerIndex
和
writerIndex
是
0
。
public static ByteBuf directBuffer(int initialCapacity, int maxCapacity)
initialCapacity
创建一个新的big-endian直接缓冲区,该缓冲区可能长达maxCapacity
。
新的缓冲区readerIndex
和writerIndex
是0
。
public static ByteBuf wrappedBuffer(byte[] array)
array
的新的大端缓冲区。
对指定数组的内容的修改将对返回的缓冲区可见。
public static ByteBuf wrappedBuffer(byte[] array, int offset, int length)
array
的子区域。
对指定数组的内容的修改将对返回的缓冲区可见。
public static ByteBuf wrappedBuffer(java.nio.ByteBuffer buffer)
public static ByteBuf wrappedBuffer(long memoryAddress, int size, boolean doFree)
doFree
为真,则一旦ByteBuf
的引用计数达到0
,memoryAddress将自动释放。
public static ByteBuf wrappedBuffer(ByteBuf buffer)
buffer
- 要包装的缓冲区。
此变量的引用计数所有权转移到此方法。
buffer
的可读部分,如果没有可读部分,则为空缓冲区。
调用者负责释放这个缓冲区。
public static ByteBuf wrappedBuffer(byte[]... arrays)
public static ByteBuf wrappedBuffer(ByteBuf... buffers)
buffers
- 要包装的缓冲区。
所有变量的引用计数所有权转移到此方法。
buffers
的可读部分。
调用者负责释放这个缓冲区。
public static ByteBuf wrappedBuffer(java.nio.ByteBuffer... buffers)
public static ByteBuf wrappedBuffer(int maxNumComponents, byte[]... arrays)
public static ByteBuf wrappedBuffer(int maxNumComponents, ByteBuf... buffers)
maxNumComponents
- 关于在整合发生之前允许存在多少独立缓冲区的建议。
buffers
- 要包装的缓冲区。
所有变量的引用计数所有权转移到此方法。
buffers
的可读部分。
调用者负责释放这个缓冲区。
public static ByteBuf wrappedBuffer(int maxNumComponents, java.nio.ByteBuffer... buffers)
public static CompositeByteBuf compositeBuffer()
public static CompositeByteBuf compositeBuffer(int maxNumComponents)
public static ByteBuf copiedBuffer(byte[] array)
array
的副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和array.length
。
public static ByteBuf copiedBuffer(byte[] array, int offset, int length)
array
的子区域的副本。
新缓冲区的readerIndex
和writerIndex
分别为0
和length
。
public static ByteBuf copiedBuffer(java.nio.ByteBuffer buffer)
buffer
当前分片的副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和buffer.remaining
。
public static ByteBuf copiedBuffer(ByteBuf buffer)
buffer
的可读字节的副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和buffer.readableBytes
。
public static ByteBuf copiedBuffer(byte[]... arrays)
arrays
的合并副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和所有阵列的总和length
。
public static ByteBuf copiedBuffer(ByteBuf... buffers)
buffers
'可读字节的合并副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和所有缓冲区的总和readableBytes
。
java.lang.IllegalArgumentException
- 如果指定缓冲区的字节序彼此不同
public static ByteBuf copiedBuffer(java.nio.ByteBuffer... buffers)
buffers
'切片的合并副本。
新缓冲区的readerIndex
和writerIndex
分别是0
和所有缓冲区的总和remaining
。
java.lang.IllegalArgumentException
- 如果指定的缓冲区的字节序彼此不同
public static ByteBuf copiedBuffer(java.lang.CharSequence string, java.nio.charset.Charset charset)
string
编码的指定charset
。
新缓冲区的readerIndex
和writerIndex
分别是0
和编码字符串的长度。
public static ByteBuf copiedBuffer(java.lang.CharSequence string, int offset, int length, java.nio.charset.Charset charset)
string
编码的指定charset
。
新缓冲区的readerIndex
和writerIndex
分别是0
和编码字符串的长度。
public static ByteBuf copiedBuffer(char[] array, java.nio.charset.Charset charset)
array
编码的指定charset
。
新缓冲区的readerIndex
和writerIndex
分别是0
和编码字符串的长度。
public static ByteBuf copiedBuffer(char[] array, int offset, int length, java.nio.charset.Charset charset)
array
编码的指定charset
。
新缓冲区的readerIndex
和writerIndex
分别是0
和编码字符串的长度。
@Deprecated public static ByteBuf unmodifiableBuffer(ByteBuf buffer)
ByteBuf.asReadOnly()
。
buffer
上进行任何修改操作。
新缓冲区具有相同readerIndex
和writerIndex
与指定的buffer
。
public static ByteBuf copyInt(int value)
public static ByteBuf copyInt(int... values)
public static ByteBuf copyShort(int value)
public static ByteBuf copyShort(short... values)
public static ByteBuf copyShort(int... values)
public static ByteBuf copyMedium(int value)
public static ByteBuf copyMedium(int... values)
public static ByteBuf copyLong(long value)
public static ByteBuf copyLong(long... values)
public static ByteBuf copyBoolean(boolean value)
public static ByteBuf copyBoolean(boolean... values)
public static ByteBuf copyFloat(float value)
public static ByteBuf copyFloat(float... values)
public static ByteBuf copyDouble(double value)
public static ByteBuf copyDouble(double... values)
Copyright © 2008–2018 The Netty Project. All rights reserved.