public interface Memory
This abstracts read/write operations to either a native memory area, or a java ByteBuffer.
| Modifier and Type | Method and Description | 
|---|---|
| void | get(long offset,
   byte[] dst,
   int off,
   int len)Reads an array of bytes from the memory area at the specified offset. | 
| void | get(long offset,
   double[] dst,
   int off,
   int len)Reads an array of doubles from the memory area at the specified offset. | 
| void | get(long offset,
   float[] dst,
   int off,
   int len)Reads an array of floats from the memory area at the specified offset. | 
| void | get(long offset,
   int[] dst,
   int off,
   int len)Reads an array of ints from the memory area at the specified offset. | 
| void | get(long offset,
   long[] dst,
   int off,
   int len)Reads an array of longs from the memory area at the specified offset. | 
| void | get(long offset,
   short[] dst,
   int off,
   int len)Reads an array of shorts from the memory area at the specified offset. | 
| long | getAddress(long offset)Reads a pointer value at the specified offset within the memory area. | 
| byte | getByte(long offset)Reads an 8 bit integer value from the memory area. | 
| double | getDouble(long offset)Reads a double value from the memory area. | 
| float | getFloat(long offset)Reads a float value from the memory area. | 
| int | getInt(long offset)Reads a 32 bit integer value from the memory area. | 
| long | getLong(long offset)Reads a 64 bit integer value from the memory area. | 
| DirectMemory | getMemory(long offset)Reads a pointer value at the specified offset within the memory area, and
 wraps it in an abstract memory accessor. | 
| long | getNativeLong(long offset)Reads a native long integer value from the memory area. | 
| short | getShort(long offset)Reads a 16 bit integer value from the memory area. | 
| byte[] | getZeroTerminatedByteArray(long offset)Reads a zero terminated byte array (e.g. an ascii or utf-8 string) | 
| int | indexOf(long offset,
       byte value)Gets the first index within the memory area of a particular 8 bit value. | 
| int | indexOf(long offset,
       byte value,
       int maxlen)Gets the first index within the memory area of a particular 8 bit value. | 
| boolean | isDirect()Checks if the memory area is a native memory pointer. | 
| boolean | isNull()Checks if the memory area is NULL. | 
| void | put(long offset,
   byte[] src,
   int off,
   int len)Writes an array of bytes to the memory area at the specified offset. | 
| void | put(long offset,
   double[] src,
   int off,
   int len)Writes an array of doubles to the memory area at the specified offset. | 
| void | put(long offset,
   float[] src,
   int off,
   int len)Writes an array of floats to the memory area at the specified offset. | 
| void | put(long offset,
   int[] src,
   int off,
   int len)Writes an array of ints to the memory area at the specified offset. | 
| void | put(long offset,
   long[] src,
   int off,
   int len)Writes an array of longs to the memory area at the specified offset. | 
| void | put(long offset,
   short[] src,
   int off,
   int len)Writes an array of shorts to the memory area at the specified offset. | 
| void | putAddress(long offset,
          long value)Writes a pointer value to the memory area at the specified offset. | 
| void | putAddress(long offset,
          Memory value)Writes a pointer value to the memory area at the specified offset. | 
| void | putByte(long offset,
       byte value)Writes an 8 bit integer value to the memory area at the specified offset. | 
| void | putDouble(long offset,
         double value)Writes a 64 bit float value to the memory area at the specified offset. | 
| void | putFloat(long offset,
        float value)Writes a 32 bit float value to the memory area at the specified offset. | 
| void | putInt(long offset,
      int value)Writes a 32 bit integer value to the memory area at the specified offset. | 
| void | putLong(long offset,
       long value)Writes a 64 bit integer value to the memory area at the specified offset. | 
| void | putNativeLong(long offset,
             long value)Writes a native long integer value to the memory area at the specified offset. | 
| void | putShort(long offset,
        short value)Writes a 16 bit integer value to the memory area at the specified offset. | 
| void | putZeroTerminatedByteArray(long offset,
                          byte[] bytes,
                          int off,
                          int len)Writes a byte array to memory, and appends a zero terminator | 
| void | setMemory(long offset,
         long size,
         byte value)Sets the contents of the memory area to the value. | 
| Memory | slice(long offset)Creates a new MemoryIO pointing to a subset of the memory area of this
 MemoryIO. | 
boolean isNull()
boolean isDirect()
Memory slice(long offset)
offset - The offset within the existing memory area to start the
 new MemoryIO at.byte getByte(long offset)
offset - The offset within the memory area to read the value.short getShort(long offset)
offset - The offset within the memory area to read the value.int getInt(long offset)
offset - The offset within the memory area to read the value.long getLong(long offset)
offset - The offset within the memory area to read the value.long getNativeLong(long offset)
A native long is 32bits on either ILP32 or LLP64 architectures, and 64 bits on an LP64 architecture.
This means that it will always read a 32bit value on Windows, but on Unix systems such as MacOS or Linux, it will read a 32bit value on 32bit systems, and a 64bit value on 64bit systems.
offset - The offset within the memory area to read the value.float getFloat(long offset)
offset - The offset within the memory area to read the value.double getDouble(long offset)
offset - The offset within the memory area to read the value.long getAddress(long offset)
offset - The offset within the memory area to read the value.DirectMemory getMemory(long offset)
offset - The offset within the memory area to read the value.byte[] getZeroTerminatedByteArray(long offset)
offset - The offset within the memory area of the start of the string.void putByte(long offset,
             byte value)
offset - The offset within the memory area to write the value.value - The 8 bit integer value to write to the memory location.void putShort(long offset,
              short value)
offset - The offset within the memory area to write the value.value - The 16 bit integer value to write to the memory location.void putInt(long offset,
            int value)
offset - The offset within the memory area to write the value.value - The 32 bit integer value to write to the memory location.void putLong(long offset,
             long value)
offset - The offset within the memory area to write the value.value - The 64 bit integer value to write to the memory location.void putNativeLong(long offset,
                   long value)
offset - The offset within the memory area to write the value.value - The native long integer value to write to the memory location.void putFloat(long offset,
              float value)
offset - The offset within the memory area to write the value.value - The 32 bit float value to write to the memory location.void putDouble(long offset,
               double value)
offset - The offset within the memory area to write the value.value - The 64 bit float value to write to the memory location.void putAddress(long offset,
                Memory value)
offset - The offset within the memory area to write the value.value - The pointer value to write to the memory location.void putAddress(long offset,
                long value)
offset - The offset within the memory area to write the value.value - The pointer value to write to the memory location.void putZeroTerminatedByteArray(long offset,
                                byte[] bytes,
                                int off,
                                int len)
offset - The offset within the memory area of the start of the string.bytes - The byte array to write to the memory.off - The offset with the byte array to start copying.len - The number of bytes of the byte array to write to the memory area. (not including zero byte)void get(long offset,
         byte[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the bytes.dst - The output byte array to place the data.off - The offset within the byte array to start copying.len - The length of data to read.void put(long offset,
         byte[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the bytes.src - The byte array to write to the memory area.off - The offset within the byte array to start copying.len - The length of data to write.void get(long offset,
         short[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the shorts.dst - The output array to place the data in.off - The offset within the array to start copying.len - The number of shorts to read.void put(long offset,
         short[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the shorts.src - The array to write to the memory area.off - The offset within the array to start copying.len - The number of shorts to write.void get(long offset,
         int[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the ints.dst - The output array to place the data in.off - The offset within the array to start copying.len - The number of ints to read.void put(long offset,
         int[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the ints.src - The array to write to the memory area.off - The offset within the array to start copying.len - The number of ints to write.void get(long offset,
         long[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the longs.dst - The output array to place the data in.off - The offset within the array to start copying.len - The number of longs to read.void put(long offset,
         long[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the longs.src - The array to write to the memory area.off - The offset within the array to start copying.len - The number of longs to write.void get(long offset,
         float[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the floats.dst - The output array to place the data in.off - The offset within the array to start copying.len - The number of floats to read.void put(long offset,
         float[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the floats.src - The array to write to the memory area.off - The offset within the array to start copying.len - The number of floats to write.void get(long offset,
         double[] dst,
         int off,
         int len)
offset - The offset within the memory area to read the doubles.dst - The output array to place the data in.off - The offset within the array to start copying.len - The number of doubles to read.void put(long offset,
         double[] src,
         int off,
         int len)
offset - The offset within the memory area to start writing the doubles.src - The array to write to the memory area.off - The offset within the array to start copying.len - The number of doubles to write.int indexOf(long offset,
            byte value)
offset - The offset within the memory area to start searching.value - The value to search for.int indexOf(long offset,
            byte value,
            int maxlen)
offset - The offset within the memory area to start searching.value - The value to search for.void setMemory(long offset,
               long size,
               byte value)
offset - The offset within the memory area to start writing.size - The number of bytes to set to the value.value - The value to set each byte to.