|
|||||||||
| 上一个类 下一个类 | 框架 无框架 | ||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | ||||||||
java.lang.Objectorg.jboss.netty.buffer.AbstractChannelBufferFactory
org.jboss.netty.buffer.DirectChannelBufferFactory
public class DirectChannelBufferFactory

为直接缓冲预分配一个大块和在需要时返回它的切片的ChannelBufferFactory. 直接缓冲在大多数JDK实现中是通过
ReferenceQueue
回收的,因此释放它们比原始堆缓冲性能差.因此,当分配一个直接缓冲比GC直接缓冲的吞吐量小得多或比GC堆缓冲的吞吐量低得多时会抛出
OutOfMemoryError.该工厂避免了为直接缓冲预分配一个大块的问题,以及减少垃圾回收内部直接缓冲对像的数量.
| 构造方法摘要 | |
|---|---|
DirectChannelBufferFactory()
创建一个字节序默认为 ByteOrder.BIG_ENDIAN的工厂. |
|
DirectChannelBufferFactory(java.nio.ByteOrder defaultOrder)
使用指定的字节序创建一个工厂 |
|
DirectChannelBufferFactory(java.nio.ByteOrder defaultOrder,
int preallocatedBufferCapacity)
使用指定的字节序创建一个工厂 |
|
DirectChannelBufferFactory(int preallocatedBufferCapacity)
创建一个字节序默认为 ByteOrder.BIG_ENDIAN的工厂. |
|
| 方法摘要 | |
|---|---|
ChannelBuffer |
getBuffer(java.nio.ByteBuffer nioBuffer)
返回一个内容与指定的NIO缓冲子部分相同的 ChannelBuffer
,依赖工厂的实现,返回的缓冲可以封装该NIO缓冲或创建该NIO缓冲的拷贝. |
ChannelBuffer |
getBuffer(java.nio.ByteOrder order,
byte[] array,
int offset,
int length)
返回一个内容等同于指定数组子部分的 ChannelBuffer. |
ChannelBuffer |
getBuffer(java.nio.ByteOrder order,
int capacity)
返回一个指定字节序和容量的 ChannelBuffer. |
static ChannelBufferFactory |
getInstance()
|
static ChannelBufferFactory |
getInstance(java.nio.ByteOrder defaultEndianness)
|
| 从类 org.jboss.netty.buffer.AbstractChannelBufferFactory 继承的方法 |
|---|
getBuffer, getBuffer, getDefaultOrder |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public DirectChannelBufferFactory()
ByteOrder.BIG_ENDIAN的工厂.
public DirectChannelBufferFactory(int preallocatedBufferCapacity)
ByteOrder.BIG_ENDIAN的工厂.
public DirectChannelBufferFactory(java.nio.ByteOrder defaultOrder)
defaultOrder - 工厂的默认字节序
public DirectChannelBufferFactory(java.nio.ByteOrder defaultOrder,
int preallocatedBufferCapacity)
defaultOrder - 工厂的默认字节序| 方法详细信息 |
|---|
public static ChannelBufferFactory getInstance()
public static ChannelBufferFactory getInstance(java.nio.ByteOrder defaultEndianness)
public ChannelBuffer getBuffer(java.nio.ByteOrder order,
int capacity)
ChannelBufferFactory 复制的描述ChannelBuffer.
order - 返回的ChannelBuffer的字节序capacity - 返回的ChannelBuffer的容量
readerIndex和writerIndex都为0的
ChannelBuffer
public ChannelBuffer getBuffer(java.nio.ByteOrder order,
byte[] array,
int offset,
int length)
ChannelBufferFactory 复制的描述ChannelBuffer. 依赖工厂的实现,返回的缓冲可以封装该数组或创建该数组的拷贝.
order - 返回ChannelBuffer的字节序array - 字节数组offset - 字节数组偏移值length - 字节数组的长度
readerIndex和writerIndex分别为 0 和
(length - offset)的ChannelBufferpublic ChannelBuffer getBuffer(java.nio.ByteBuffer nioBuffer)
ChannelBufferFactory 复制的描述ChannelBuffer
,依赖工厂的实现,返回的缓冲可以封装该NIO缓冲或创建该NIO缓冲的拷贝.
nioBuffer - NIO ByteBuffer
readerIndex和writerIndex分别为 0 和
nioBuffer.remaining()的ChannelBuffer
|
|||||||||
| 上一个类 下一个类 | 框架 无框架 | ||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | ||||||||