为什么我们 isDirect()
在 CharBuffer 中有方法?
CharBuffer
如果我们在or中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer Buffer
?
我猜可能是:
ByteBuffer.alocateDirect(100).asCharBuffer()
是这样吗?这是唯一(也是推荐的)方法吗?
为什么我们 isDirect()
在 CharBuffer 中有方法?
CharBuffer
如果我们在or中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer Buffer
?
我猜可能是:
ByteBuffer.alocateDirect(100).asCharBuffer()
是这样吗?这是唯一(也是推荐的)方法吗?
CharBuffer
从Buffer
接口继承该方法,还有许多其他方法。
CharBuffer
有多个子类
例如DirectCharBuffer
(s) return true
。
这个
ByteBuffer.allocateDirect(20).asCharBuffer();
将返回 a DirectCharBuffer
,即 a CharBuffer
。
*U
大端系统的后缀。
*S
其他类型的后缀(小端)。
*R
只读缓冲区的后缀。
final CharBuffer cb = ByteBuffer.allocateDirect(20).asCharBuffer();
final boolean direct = cb.isDirect(); // true
是这样吗?这是唯一(
也是推荐的)方法吗?
是的。
作为参考,什么是直接缓冲区?请参阅JavaDoc,直接与非直接缓冲区部分。