APIdia Launch Partner
Top Inners Fields Constructors Methods
java.nio

pack-priv sealed Class DirectByteBuffer

extends MappedByteBuffer
implements DirectBuffer
permits DirectByteBufferR
Class Inheritance
All Implemented Interfaces
sun.nio.ch.DirectBuffer
Known Direct Subclasses
java.nio.DirectByteBufferR
Imports
java.io.FileDescriptor, java.lang.foreign.MemorySegment, java.lang.ref.Reference, java.nio.BufferCleaner, java.util.Objects, jdk.internal.foreign.AbstractMemorySegmentImpl, .MemorySessionImpl, .SegmentFactories, jdk.internal.vm.annotation.ForceInline, jdk.internal.misc.ScopedMemoryAccess.ScopedAccessError, .VM, sun.nio.Cleaner, sun.nio.ch.DirectBuffer

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static record

Field Summary

Modifier and TypeField and Description
private final Object
private final Cleaner
pack-priv static final boolean
Inherited from java.nio.MappedByteBuffer:
SCOPED_MEMORY_ACCESS

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv
DirectByteBuffer(long addr, int cap, Object ob, MemorySegment segment)

pack-priv
DirectByteBuffer(long addr, int cap, Object ob, FileDescriptor fd, boolean isSync, MemorySegment segment)

pack-priv
DirectByteBuffer(long addr, long cap)

protected
DirectByteBuffer(int cap, long addr, FileDescriptor fd, Runnable unmapper, boolean isSync, MemorySegment segment)

pack-priv
DirectByteBuffer(DirectBuffer db, int mark, int pos, int lim, int cap, int off, FileDescriptor fd, boolean isSync, MemorySegment segment)

Method Summary

Modifier and TypeMethod and Description
public long
public CharBuffer
asCharBuffer()

Implements abstract java.nio.ByteBuffer.asCharBuffer.

Creates a view of this byte buffer as a char buffer.

public DoubleBuffer
asDoubleBuffer()

Implements abstract java.nio.ByteBuffer.asDoubleBuffer.

Creates a view of this byte buffer as a double buffer.

public FloatBuffer
asFloatBuffer()

Implements abstract java.nio.ByteBuffer.asFloatBuffer.

Creates a view of this byte buffer as a float buffer.

public IntBuffer
asIntBuffer()

Implements abstract java.nio.ByteBuffer.asIntBuffer.

Creates a view of this byte buffer as an int buffer.

public LongBuffer
asLongBuffer()

Implements abstract java.nio.ByteBuffer.asLongBuffer.

Creates a view of this byte buffer as a long buffer.

public ByteBuffer
asReadOnlyBuffer()

Implements abstract java.nio.ByteBuffer.asReadOnlyBuffer.

Creates a new, read-only byte buffer that shares this buffer's content.

public ShortBuffer
asShortBuffer()

Implements abstract java.nio.ByteBuffer.asShortBuffer.

Creates a view of this byte buffer as a short buffer.

public Object
pack-priv Object
private static int
checkCapacity(long capacity)

public Cleaner
public MappedByteBuffer
compact()

Implements abstract java.nio.MappedByteBuffer.compact.

Compacts this buffer  (optional operation).

public MappedByteBuffer
duplicate()

Implements abstract java.nio.MappedByteBuffer.duplicate.

Creates a new byte buffer that shares this buffer's content.

public byte
get()

Implements abstract java.nio.ByteBuffer.get.

Relative get method.

public byte
get(int i)

Implements abstract java.nio.ByteBuffer.get.

Absolute get method.

private char
getChar(long a)

public char
getChar()

Implements abstract java.nio.ByteBuffer.getChar.

Relative get method for reading a char value.

public char
getChar(int i)

Implements abstract java.nio.ByteBuffer.getChar.

Absolute get method for reading a char value.

private double
getDouble(long a)

public double
getDouble()

Implements abstract java.nio.ByteBuffer.getDouble.

Relative get method for reading a double value.

public double
getDouble(int i)

Implements abstract java.nio.ByteBuffer.getDouble.

Absolute get method for reading a double value.

private float
getFloat(long a)

public float
getFloat()

Implements abstract java.nio.ByteBuffer.getFloat.

Relative get method for reading a float value.

public float
getFloat(int i)

Implements abstract java.nio.ByteBuffer.getFloat.

Absolute get method for reading a float value.

private int
getInt(long a)

public int
getInt()

Implements abstract java.nio.ByteBuffer.getInt.

Relative get method for reading an int value.

public int
getInt(int i)

Implements abstract java.nio.ByteBuffer.getInt.

Absolute get method for reading an int value.

private long
getLong(long a)

public long
getLong()

Implements abstract java.nio.ByteBuffer.getLong.

Relative get method for reading a long value.

public long
getLong(int i)

Implements abstract java.nio.ByteBuffer.getLong.

Absolute get method for reading a long value.

private short
getShort(long a)

public short
getShort()

Implements abstract java.nio.ByteBuffer.getShort.

Relative get method for reading a short value.

public short
getShort(int i)

Implements abstract java.nio.ByteBuffer.getShort.

Absolute get method for reading a short value.

pack-priv AbstractMemorySegmentImpl
heapSegment(Object base, long offset, long length, boolean readOnly, MemorySessionImpl bufferScope)

Implements abstract java.nio.Buffer.heapSegment.

public boolean
isDirect()

Implements abstract java.nio.ByteBuffer.isDirect.

Tells whether or not this byte buffer is direct.

public boolean
isReadOnly()

Implements abstract java.nio.Buffer.isReadOnly.

Tells whether or not this buffer is read-only.

private long
ix(int i)

public ByteBuffer
put(byte x)

Implements abstract java.nio.ByteBuffer.put.

Relative put method  (optional operation).

public ByteBuffer
put(int i, byte x)

Implements abstract java.nio.ByteBuffer.put.

Absolute put method  (optional operation).

private ByteBuffer
putChar(long a, char x)

public ByteBuffer
putChar(char x)

Implements abstract java.nio.ByteBuffer.putChar.

Relative put method for writing a char value  (optional operation).

public ByteBuffer
putChar(int i, char x)

Implements abstract java.nio.ByteBuffer.putChar.

Absolute put method for writing a char value  (optional operation).

private ByteBuffer
putDouble(long a, double x)

public ByteBuffer
putDouble(double x)

Implements abstract java.nio.ByteBuffer.putDouble.

Relative put method for writing a double value  (optional operation).

public ByteBuffer
putDouble(int i, double x)

Implements abstract java.nio.ByteBuffer.putDouble.

Absolute put method for writing a double value  (optional operation).

private ByteBuffer
putFloat(long a, float x)

public ByteBuffer
putFloat(float x)

Implements abstract java.nio.ByteBuffer.putFloat.

Relative put method for writing a float value  (optional operation).

public ByteBuffer
putFloat(int i, float x)

Implements abstract java.nio.ByteBuffer.putFloat.

Absolute put method for writing a float value  (optional operation).

private ByteBuffer
putInt(long a, int x)

public ByteBuffer
putInt(int x)

Implements abstract java.nio.ByteBuffer.putInt.

Relative put method for writing an int value  (optional operation).

public ByteBuffer
putInt(int i, int x)

Implements abstract java.nio.ByteBuffer.putInt.

Absolute put method for writing an int value  (optional operation).

private ByteBuffer
putLong(long a, long x)

public ByteBuffer
putLong(long x)

Implements abstract java.nio.ByteBuffer.putLong.

Relative put method for writing a long value  (optional operation).

public ByteBuffer
putLong(int i, long x)

Implements abstract java.nio.ByteBuffer.putLong.

Absolute put method for writing a long value  (optional operation).

private ByteBuffer
putShort(long a, short x)

public ByteBuffer
putShort(short x)

Implements abstract java.nio.ByteBuffer.putShort.

Relative put method for writing a short value  (optional operation).

public ByteBuffer
putShort(int i, short x)

Implements abstract java.nio.ByteBuffer.putShort.

Absolute put method for writing a short value  (optional operation).

pack-priv int
scaleShifts()

Implements abstract java.nio.Buffer.scaleShifts.

Returns the scale shifts for this Buffer.

public MappedByteBuffer
slice()

Implements abstract java.nio.MappedByteBuffer.slice.

Creates a new byte buffer whose content is a shared subsequence of this buffer's content.

public MappedByteBuffer
slice(int index, int length)

Implements abstract java.nio.MappedByteBuffer.slice.

Creates a new byte buffer whose content is a shared subsequence of this buffer's content.

Inherited from java.nio.MappedByteBuffer:
clearfileDescriptorflipforceforceisLoadedisSynclimitloadmarkpositionresetrewindunmapper

Field Detail

attback to summary
private final Object att
cleanerback to summary
private final Cleaner cleaner
UNALIGNEDback to summary
pack-priv static final boolean UNALIGNED

Constructor Detail

DirectByteBufferback to summary
pack-priv DirectByteBuffer(int cap)
DirectByteBufferback to summary
pack-priv DirectByteBuffer(long addr, int cap, Object ob, MemorySegment segment)
DirectByteBufferback to summary
pack-priv DirectByteBuffer(long addr, int cap, Object ob, FileDescriptor fd, boolean isSync, MemorySegment segment)
DirectByteBufferback to summary
pack-priv DirectByteBuffer(long addr, long cap)
DirectByteBufferback to summary
protected DirectByteBuffer(int cap, long addr, FileDescriptor fd, Runnable unmapper, boolean isSync, MemorySegment segment)
DirectByteBufferback to summary
pack-priv DirectByteBuffer(DirectBuffer db, int mark, int pos, int lim, int cap, int off, FileDescriptor fd, boolean isSync, MemorySegment segment)

Method Detail

addressback to summary
public long address()

Implements sun.nio.ch.DirectBuffer.address.

asCharBufferback to summary
public CharBuffer asCharBuffer()

Implements abstract java.nio.ByteBuffer.asCharBuffer.

Doc from java.nio.ByteBuffer.asCharBuffer.

Creates a view of this byte buffer as a char buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by two, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

asDoubleBufferback to summary
public DoubleBuffer asDoubleBuffer()

Implements abstract java.nio.ByteBuffer.asDoubleBuffer.

Doc from java.nio.ByteBuffer.asDoubleBuffer.

Creates a view of this byte buffer as a double buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by eight, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

asFloatBufferback to summary
public FloatBuffer asFloatBuffer()

Implements abstract java.nio.ByteBuffer.asFloatBuffer.

Doc from java.nio.ByteBuffer.asFloatBuffer.

Creates a view of this byte buffer as a float buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by four, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

asIntBufferback to summary
public IntBuffer asIntBuffer()

Implements abstract java.nio.ByteBuffer.asIntBuffer.

Doc from java.nio.ByteBuffer.asIntBuffer.

Creates a view of this byte buffer as an int buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by four, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

asLongBufferback to summary
public LongBuffer asLongBuffer()

Implements abstract java.nio.ByteBuffer.asLongBuffer.

Doc from java.nio.ByteBuffer.asLongBuffer.

Creates a view of this byte buffer as a long buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by eight, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

asReadOnlyBufferback to summary
public ByteBuffer asReadOnlyBuffer()

Implements abstract java.nio.ByteBuffer.asReadOnlyBuffer.

Doc from java.nio.ByteBuffer.asReadOnlyBuffer.

Creates a new, read-only byte buffer that shares this buffer's content.

The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer; the new buffer itself, however, will be read-only and will not allow the shared content to be modified. The two buffers' position, limit, and mark values will be independent.

The new buffer's capacity, limit, position, and mark values will be identical to those of this buffer, and its byte order will be BIG_ENDIAN.

If this buffer is itself read-only then this method behaves in exactly the same way as the duplicate method.

asShortBufferback to summary
public ShortBuffer asShortBuffer()

Implements abstract java.nio.ByteBuffer.asShortBuffer.

Doc from java.nio.ByteBuffer.asShortBuffer.

Creates a view of this byte buffer as a short buffer.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by two, its mark will be undefined, and its byte order will be that of the byte buffer at the moment the view is created. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

attachmentback to summary
public Object attachment()

Implements sun.nio.ch.DirectBuffer.attachment.

baseback to summary
pack-priv Object base()

Overrides java.nio.ByteBuffer.base.

Annotations
@Override
checkCapacityback to summary
private static int checkCapacity(long capacity)
cleanerback to summary
public Cleaner cleaner()

Implements sun.nio.ch.DirectBuffer.cleaner.

compactback to summary
public MappedByteBuffer compact()

Implements abstract java.nio.MappedByteBuffer.compact.

Doc from java.nio.MappedByteBuffer.compact.

Compacts this buffer  (optional operation).

The bytes between the buffer's current position and its limit, if any, are copied to the beginning of the buffer. That is, the byte at index p = position() is copied to index zero, the byte at index p + 1 is copied to index one, and so forth until the byte at index limit() - 1 is copied to index n = limit() - 1 - p. The buffer's position is then set to n+1 and its limit is set to its capacity. The mark, if defined, is discarded.

The buffer's position is set to the number of bytes copied, rather than to zero, so that an invocation of this method can be followed immediately by an invocation of another relative put method.

Invoke this method after writing data from a buffer in case the write was incomplete. The following loop, for example, copies bytes from one channel to another via the buffer buf:

buf.clear(); // Prepare buffer for use while (in.read(buf) >= 0 || buf.position != 0) { buf.flip(); out.write(buf); buf.compact(); // In case of partial write }
buf.clear();          // Prepare buffer for use
while (in.read(buf) >= 0 || buf.position != 0) {
    buf.flip();
    out.write(buf);
    buf.compact();    // In case of partial write
}
duplicateback to summary
public MappedByteBuffer duplicate()

Implements abstract java.nio.MappedByteBuffer.duplicate.

Doc from java.nio.MappedByteBuffer.duplicate.

Creates a new byte buffer that shares this buffer's content.

The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's capacity, limit, position, and mark values will be identical to those of this buffer, and its byte order will be BIG_ENDIAN. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

getback to summary
public byte get()

Implements abstract java.nio.ByteBuffer.get.

Doc from java.nio.ByteBuffer.get.

Relative get method. Reads the byte at this buffer's current position, and then increments the position.

getback to summary
public byte get(int i)

Implements abstract java.nio.ByteBuffer.get.

Doc from java.nio.ByteBuffer.get.

Absolute get method. Reads the byte at the given index.

getCharback to summary
private char getChar(long a)
getCharback to summary
public char getChar()

Implements abstract java.nio.ByteBuffer.getChar.

Doc from java.nio.ByteBuffer.getChar.

Relative get method for reading a char value.

Reads the next two bytes at this buffer's current position, composing them into a char value according to the current byte order, and then increments the position by two.

getCharback to summary
public char getChar(int i)

Implements abstract java.nio.ByteBuffer.getChar.

Doc from java.nio.ByteBuffer.getChar.

Absolute get method for reading a char value.

Reads two bytes at the given index, composing them into a char value according to the current byte order.

getDoubleback to summary
private double getDouble(long a)
getDoubleback to summary
public double getDouble()

Implements abstract java.nio.ByteBuffer.getDouble.

Doc from java.nio.ByteBuffer.getDouble.

Relative get method for reading a double value.

Reads the next eight bytes at this buffer's current position, composing them into a double value according to the current byte order, and then increments the position by eight.

getDoubleback to summary
public double getDouble(int i)

Implements abstract java.nio.ByteBuffer.getDouble.

Doc from java.nio.ByteBuffer.getDouble.

Absolute get method for reading a double value.

Reads eight bytes at the given index, composing them into a double value according to the current byte order.

getFloatback to summary
private float getFloat(long a)
getFloatback to summary
public float getFloat()

Implements abstract java.nio.ByteBuffer.getFloat.

Doc from java.nio.ByteBuffer.getFloat.

Relative get method for reading a float value.

Reads the next four bytes at this buffer's current position, composing them into a float value according to the current byte order, and then increments the position by four.

getFloatback to summary
public float getFloat(int i)

Implements abstract java.nio.ByteBuffer.getFloat.

Doc from java.nio.ByteBuffer.getFloat.

Absolute get method for reading a float value.

Reads four bytes at the given index, composing them into a float value according to the current byte order.

getIntback to summary
private int getInt(long a)
getIntback to summary
public int getInt()

Implements abstract java.nio.ByteBuffer.getInt.

Doc from java.nio.ByteBuffer.getInt.

Relative get method for reading an int value.

Reads the next four bytes at this buffer's current position, composing them into an int value according to the current byte order, and then increments the position by four.

getIntback to summary
public int getInt(int i)

Implements abstract java.nio.ByteBuffer.getInt.

Doc from java.nio.ByteBuffer.getInt.

Absolute get method for reading an int value.

Reads four bytes at the given index, composing them into a int value according to the current byte order.

getLongback to summary
private long getLong(long a)
getLongback to summary
public long getLong()

Implements abstract java.nio.ByteBuffer.getLong.

Doc from java.nio.ByteBuffer.getLong.

Relative get method for reading a long value.

Reads the next eight bytes at this buffer's current position, composing them into a long value according to the current byte order, and then increments the position by eight.

getLongback to summary
public long getLong(int i)

Implements abstract java.nio.ByteBuffer.getLong.

Doc from java.nio.ByteBuffer.getLong.

Absolute get method for reading a long value.

Reads eight bytes at the given index, composing them into a long value according to the current byte order.

getShortback to summary
private short getShort(long a)
getShortback to summary
public short getShort()

Implements abstract java.nio.ByteBuffer.getShort.

Doc from java.nio.ByteBuffer.getShort.

Relative get method for reading a short value.

Reads the next two bytes at this buffer's current position, composing them into a short value according to the current byte order, and then increments the position by two.

getShortback to summary
public short getShort(int i)

Implements abstract java.nio.ByteBuffer.getShort.

Doc from java.nio.ByteBuffer.getShort.

Absolute get method for reading a short value.

Reads two bytes at the given index, composing them into a short value according to the current byte order.

heapSegmentback to summary
pack-priv AbstractMemorySegmentImpl heapSegment(Object base, long offset, long length, boolean readOnly, MemorySessionImpl bufferScope)

Implements abstract java.nio.Buffer.heapSegment.

Annotations
@ForceInline
@Override
isDirectback to summary
public boolean isDirect()

Implements abstract java.nio.ByteBuffer.isDirect.

Doc from java.nio.ByteBuffer.isDirect.

Tells whether or not this byte buffer is direct.

isReadOnlyback to summary
public boolean isReadOnly()

Implements abstract java.nio.Buffer.isReadOnly.

Doc from java.nio.Buffer.isReadOnly.

Tells whether or not this buffer is read-only.

ixback to summary
private long ix(int i)
putback to summary
public ByteBuffer put(byte x)

Implements abstract java.nio.ByteBuffer.put.

Doc from java.nio.ByteBuffer.put.

Relative put method  (optional operation).

Writes the given byte into this buffer at the current position, and then increments the position.

putback to summary
public ByteBuffer put(int i, byte x)

Implements abstract java.nio.ByteBuffer.put.

Doc from java.nio.ByteBuffer.put.

Absolute put method  (optional operation).

Writes the given byte into this buffer at the given index.

putCharback to summary
private ByteBuffer putChar(long a, char x)
putCharback to summary
public ByteBuffer putChar(char x)

Implements abstract java.nio.ByteBuffer.putChar.

Doc from java.nio.ByteBuffer.putChar.

Relative put method for writing a char value  (optional operation).

Writes two bytes containing the given char value, in the current byte order, into this buffer at the current position, and then increments the position by two.

putCharback to summary
public ByteBuffer putChar(int i, char x)

Implements abstract java.nio.ByteBuffer.putChar.

Doc from java.nio.ByteBuffer.putChar.

Absolute put method for writing a char value  (optional operation).

Writes two bytes containing the given char value, in the current byte order, into this buffer at the given index.

putDoubleback to summary
private ByteBuffer putDouble(long a, double x)
putDoubleback to summary
public ByteBuffer putDouble(double x)

Implements abstract java.nio.ByteBuffer.putDouble.

Doc from java.nio.ByteBuffer.putDouble.

Relative put method for writing a double value  (optional operation).

Writes eight bytes containing the given double value, in the current byte order, into this buffer at the current position, and then increments the position by eight.

putDoubleback to summary
public ByteBuffer putDouble(int i, double x)

Implements abstract java.nio.ByteBuffer.putDouble.

Doc from java.nio.ByteBuffer.putDouble.

Absolute put method for writing a double value  (optional operation).

Writes eight bytes containing the given double value, in the current byte order, into this buffer at the given index.

putFloatback to summary
private ByteBuffer putFloat(long a, float x)
putFloatback to summary
public ByteBuffer putFloat(float x)

Implements abstract java.nio.ByteBuffer.putFloat.

Doc from java.nio.ByteBuffer.putFloat.

Relative put method for writing a float value  (optional operation).

Writes four bytes containing the given float value, in the current byte order, into this buffer at the current position, and then increments the position by four.

putFloatback to summary
public ByteBuffer putFloat(int i, float x)

Implements abstract java.nio.ByteBuffer.putFloat.

Doc from java.nio.ByteBuffer.putFloat.

Absolute put method for writing a float value  (optional operation).

Writes four bytes containing the given float value, in the current byte order, into this buffer at the given index.

putIntback to summary
private ByteBuffer putInt(long a, int x)
putIntback to summary
public ByteBuffer putInt(int x)

Implements abstract java.nio.ByteBuffer.putInt.

Doc from java.nio.ByteBuffer.putInt.

Relative put method for writing an int value  (optional operation).

Writes four bytes containing the given int value, in the current byte order, into this buffer at the current position, and then increments the position by four.

putIntback to summary
public ByteBuffer putInt(int i, int x)

Implements abstract java.nio.ByteBuffer.putInt.

Doc from java.nio.ByteBuffer.putInt.

Absolute put method for writing an int value  (optional operation).

Writes four bytes containing the given int value, in the current byte order, into this buffer at the given index.

putLongback to summary
private ByteBuffer putLong(long a, long x)
putLongback to summary
public ByteBuffer putLong(long x)

Implements abstract java.nio.ByteBuffer.putLong.

Doc from java.nio.ByteBuffer.putLong.

Relative put method for writing a long value  (optional operation).

Writes eight bytes containing the given long value, in the current byte order, into this buffer at the current position, and then increments the position by eight.

putLongback to summary
public ByteBuffer putLong(int i, long x)

Implements abstract java.nio.ByteBuffer.putLong.

Doc from java.nio.ByteBuffer.putLong.

Absolute put method for writing a long value  (optional operation).

Writes eight bytes containing the given long value, in the current byte order, into this buffer at the given index.

putShortback to summary
private ByteBuffer putShort(long a, short x)
putShortback to summary
public ByteBuffer putShort(short x)

Implements abstract java.nio.ByteBuffer.putShort.

Doc from java.nio.ByteBuffer.putShort.

Relative put method for writing a short value  (optional operation).

Writes two bytes containing the given short value, in the current byte order, into this buffer at the current position, and then increments the position by two.

putShortback to summary
public ByteBuffer putShort(int i, short x)

Implements abstract java.nio.ByteBuffer.putShort.

Doc from java.nio.ByteBuffer.putShort.

Absolute put method for writing a short value  (optional operation).

Writes two bytes containing the given short value, in the current byte order, into this buffer at the given index.

scaleShiftsback to summary
pack-priv int scaleShifts()

Implements abstract java.nio.Buffer.scaleShifts.

Doc from java.nio.Buffer.scaleShifts.

Returns the scale shifts for this Buffer.

The scale shifts are: ByteBuffer: 0 ShortBuffer, CharBuffer: 1 IntBuffer, FloatBuffer: 2 LongBuffer, DoubleBuffer: 3

Annotations
@ForceInline
@Override
sliceback to summary
public MappedByteBuffer slice()

Implements abstract java.nio.MappedByteBuffer.slice.

Doc from java.nio.MappedByteBuffer.slice.

Creates a new byte buffer whose content is a shared subsequence of this buffer's content.

The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer, its mark will be undefined, and its byte order will be BIG_ENDIAN. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

Reading bytes into physical memory by invoking load() on the returned buffer, or writing bytes to the storage device by invoking force() on the returned buffer, will only act on the sub-range of this buffer that the returned buffer represents, namely [position(),limit()).

sliceback to summary
public MappedByteBuffer slice(int index, int length)

Implements abstract java.nio.MappedByteBuffer.slice.

Doc from java.nio.MappedByteBuffer.slice.

Creates a new byte buffer whose content is a shared subsequence of this buffer's content.

The content of the new buffer will start at position index in this buffer, and will contain length elements. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position, limit, and mark values will be independent.

The new buffer's position will be zero, its capacity and its limit will be length, its mark will be undefined, and its byte order will be BIG_ENDIAN. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.

Reading bytes into physical memory by invoking load() on the returned buffer, or writing bytes to the storage device by invoking force() on the returned buffer, will only act on the sub-range of this buffer that the returned buffer represents, namely [index,index+length), where index and length are assumed to satisfy the preconditions.

Annotations
@Override
java.nio back to summary

private final Record DirectByteBuffer.Deallocator

extends Record
implements Runnable
Class Inheritance
All Implemented Interfaces
java.lang.Runnable
Record Components
address:long 
size:long 
capacity:int 

Field Summary

Modifier and TypeField and Description
private final long
address

Record Component accessed by address().

private final int
capacity

Record Component accessed by capacity().

private final long
size

Record Component accessed by size().

Constructor Summary

AccessConstructor and Description
private
Deallocator(long address, long size, int capacity)

Method Summary

Modifier and TypeMethod and Description
public long
address()

Record Component getter of address.

public int
capacity()

Record Component getter of capacity.

public final boolean
equals(Object o)

Implements abstract java.lang.Record.equals.

Indicates whether some other object is "equal to" this one.

public final int
hashCode()

Implements abstract java.lang.Record.hashCode.

Returns a hash code value for the record.

public void
run()

Implements java.lang.Runnable.run.

Runs this operation.

public long
size()

Record Component getter of size.

public final String
toString()

Implements abstract java.lang.Record.toString.

Returns a string representation of the record.

Field Detail

addressback to summary
private final long address

Record Component accessed by address().

capacityback to summary
private final int capacity

Record Component accessed by capacity().

sizeback to summary
private final long size

Record Component accessed by size().

Constructor Detail

Deallocatorback to summary
private Deallocator(long address, long size, int capacity)

Method Detail

addressback to summary
public long address()

Record Component getter of address.

capacityback to summary
public int capacity()

Record Component getter of capacity.

equalsback to summary
public final boolean equals(Object o)

Implements abstract java.lang.Record.equals.

Doc from java.lang.Record.equals.

Indicates whether some other object is "equal to" this one. In addition to the general contract of Object.equals, record classes must further obey the invariant that when a record instance is "copied" by passing the result of the record component accessor methods to the canonical constructor, as follows:

    R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
hashCodeback to summary
public final int hashCode()

Implements abstract java.lang.Record.hashCode.

Doc from java.lang.Record.hashCode.

Returns a hash code value for the record. Obeys the general contract of Object.hashCode. For records, hashing behavior is constrained by the refined contract of Record.equals, so that any two records created from the same components must have the same hash code.

runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

sizeback to summary
public long size()

Record Component getter of size.

toStringback to summary
public final String toString()

Implements abstract java.lang.Record.toString.

Doc from java.lang.Record.toString.

Returns a string representation of the record. In accordance with the general contract of Object#toString(), the toString method returns a string that "textually represents" this record. The result should be a concise but informative representation that is easy for a person to read.

In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves.