MappedByteBufferpublic abstract class MappedByteBuffer extends ByteBuffer
Fields Summary |
---|
volatile boolean | isAMappedBuffer |
Constructors Summary |
---|
MappedByteBuffer(int mark, int pos, int lim, int cap, boolean mapped)
super(mark, pos, lim, cap);
isAMappedBuffer = mapped;
| MappedByteBuffer(int mark, int pos, int lim, int cap) // package-private
super(mark, pos, lim, cap);
isAMappedBuffer = false;
|
Methods Summary |
---|
private void | checkMapped()
if (!isAMappedBuffer)
// Can only happen if a luser explicitly casts a direct byte buffer
throw new UnsupportedOperationException();
| public final java.nio.MappedByteBuffer | force()Forces any changes made to this buffer's content to be written to the
storage device containing the mapped file.
If the file mapped into this buffer resides on a local storage
device then when this method returns it is guaranteed that all changes
made to the buffer since it was created, or since this method was last
invoked, will have been written to that device.
If the file does not reside on a local device then no such guarantee
is made.
If this buffer was not mapped in read/write mode ({@link
java.nio.channels.FileChannel.MapMode#READ_WRITE}) then invoking this
method has no effect.
checkMapped();
if ((address == 0) || (capacity() == 0))
return this;
force0(((DirectByteBuffer)this).address(), capacity());
return this;
| private native void | force0(long address, long length)
| public final boolean | isLoaded()Tells whether or not this buffer's content is resident in physical
memory.
A return value of true implies that it is highly likely
that all of the data in this buffer is resident in physical memory and
may therefore be accessed without incurring any virtual-memory page
faults or I/O operations. A return value of false does not
necessarily imply that the buffer's content is not resident in physical
memory.
The returned value is a hint, rather than a guarantee, because the
underlying operating system may have paged out some of the buffer's data
by the time that an invocation of this method returns.
checkMapped();
if ((address == 0) || (capacity() == 0))
return true;
return isLoaded0(((DirectByteBuffer)this).address(), capacity());
| private native boolean | isLoaded0(long address, long length)
| public final java.nio.MappedByteBuffer | load()Loads this buffer's content into physical memory.
This method makes a best effort to ensure that, when it returns,
this buffer's content is resident in physical memory. Invoking this
method may cause some number of page faults and I/O operations to
occur.
checkMapped();
if ((address == 0) || (capacity() == 0))
return this;
load0(((DirectByteBuffer)this).address(), capacity(), Bits.pageSize());
return this;
| private native int | load0(long address, long length, int pageSize)
|
|