DataBuffer
byte.
Metode Publik
abstrak BooleanDataBuffer | sebagaiBoolean () Kembalikan buffer byte ini sebagai buffer boolean. |
abstrak DoubleDataBuffer | sebagai Ganda () Kembalikan buffer byte ini sebagai buffer ganda. |
abstrak FloatDataBuffer | sebagai Mengambang () Kembalikan buffer byte ini sebagai buffer float. |
abstrak IntDataBuffer | sebagaiInt () Kembalikan buffer byte ini sebagai buffer int. |
abstrak LongDataBuffer | selama () Kembalikan buffer byte ini sebagai buffer long. |
abstrak ShortDataBuffer | sebagai celana pendek () Kembalikan buffer byte ini sebagai buffer celana pendek. |
abstrak ByteDataBuffer | copyTo ( DataBuffer <Byte> dst, ukuran panjang) |
byte abstrak | getByte (indeks panjang) Membaca byte pada indeks yang diberikan. |
byte abstrak | getObject (indeks panjang) Membaca nilai pada indeks yang diberikan. |
abstrak ByteDataBuffer | sempit (ukuran panjang) Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, yang ukurannya diatur ke nilai yang ditentukan. |
abstrak ByteDataBuffer | offset (indeks panjang) Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, dimulai dari indeks yang ditentukan. |
abstrak ByteDataBuffer | baca (byte[] dst) Metode pengambilan massal, menggunakan array byte. |
abstrak ByteDataBuffer | baca (byte[] dst, int offset, int panjang) Metode pengambilan massal, menggunakan array byte. |
abstrak ByteDataBuffer | setByte (nilai byte, indeks panjang) Menulis byte tertentu ke dalam buffer ini pada indeks yang diberikan. |
abstrak ByteDataBuffer | setObject (Nilai byte, indeks panjang) |
abstrak ByteDataBuffer | irisan (indeks panjang, ukuran panjang) Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, dimulai dari indeks tertentu dan ukuran tertentu. |
abstrak DataBufferWindow < ByteDataBuffer > | jendela (ukuran panjang) Membuat DataBufferWindow yang menyediakan sebagian tampilan buffer ini. |
abstrak ByteDataBuffer | tulis (byte[] src) Metode penempatan massal, menggunakan array byte. |
abstrak ByteDataBuffer | tulis (byte[] src, int offset, int panjang) Metode penempatan massal, menggunakan array byte. |
Metode Warisan
Metode Publik
abstrak publik BooleanDataBuffer asBooleans ()
Kembalikan buffer byte ini sebagai buffer boolean.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
BooleanDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
abstrak publik DoubleDataBuffer asDoubles ()
Kembalikan buffer byte ini sebagai buffer ganda.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
DoubleDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
abstrak publik FloatDataBuffer asFloats ()
Kembalikan buffer byte ini sebagai buffer float.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
FloatDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
abstrak publik IntDataBuffer asInts ()
Kembalikan buffer byte ini sebagai buffer int.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
IntDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
abstrak publik LongDataBuffer asLongs ()
Kembalikan buffer byte ini sebagai buffer long.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
LongDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
abstrak publik ShortDataBuffer asShorts ()
Kembalikan buffer byte ini sebagai buffer celana pendek.
Buffer yang dikembalikan memberikan tampilan berbeda pada memori yang sama dengan buffer byte asli, artinya mengubah nilai di salah satu nilai akan memengaruhi nilai lainnya.
Kembali
- buffer ini sebagai
ShortDataBuffer
Melempar
IlegalStateException | jika buffer ini tidak dapat dikonversi |
---|
byte abstrak publik getByte (indeks panjang)
Membaca byte pada indeks yang diberikan.
Parameter
indeks | indeks dari mana float akan dibaca |
---|
Kembali
- byte pada indeks yang diberikan
Melempar
IndexOutOfBoundsException | jika indeks negatif atau tidak lebih kecil dari ukuran buffer |
---|
public abstract Byte getObject (indeks panjang)
Membaca nilai pada indeks yang diberikan. Penting: Penggunaan metode ini harus dibatasi pada buffer tipe non-primitif atau ketika tipe data tidak diketahui secara deterministik oleh pemanggil. Dalam kasus lain, pilihlah penggunaan varian primitif yang akan meningkatkan kinerja secara signifikan (misalnya IntDataBuffer.getInt(idx)
Parameter
indeks | indeks dari mana float akan dibaca |
---|
Kembali
- nilai pada indeks yang diberikan
abstrak publik ByteDataBuffer sempit (ukuran panjang)
Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, yang ukurannya diatur ke nilai yang ditentukan.
Ukuran baru tidak boleh lebih besar dari ukuran buffer ini. Perubahan pada konten buffer ini akan terlihat di buffer baru dan sebaliknya. Buffer baru akan bersifat read-only jika, dan hanya jika, buffer ini bersifat read-only.
Panggilan ini setara dengan slice(0, size)
Parameter
ukuran | ukuran buffer baru ini |
---|
Kembali
- penyangga baru
offset ByteDataBuffer abstrak publik (indeks panjang)
Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, dimulai dari indeks yang ditentukan.
Indeks tidak boleh lebih besar dari ukuran buffer ini. Perubahan pada konten buffer ini akan terlihat di buffer baru dan sebaliknya. Buffer baru akan bersifat read-only jika, dan hanya jika, buffer ini bersifat read-only.
Panggilan ini setara dengan slice(index, size() - index)
Parameter
indeks | indeks nilai pertama buffer baru yang dibuat, tidak boleh lebih besar dari size() |
---|
Kembali
- penyangga baru
abstrak publik ByteDataBuffer baca (byte[] dst)
Metode pengambilan massal, menggunakan array byte.
Metode ini mentransfer nilai dari buffer ini ke array tujuan tertentu. Jika nilai dalam buffer lebih sedikit daripada yang diperlukan untuk memenuhi permintaan, yaitu jika dst.length > size()
, maka tidak ada nilai yang ditransfer dan BufferUnderflowException dilempar.
Jika tidak, metode ini akan menyalin nilai n = dst.length
dari buffer ini ke dalam array yang diberikan.
Parameter
dst | array tempat nilai akan ditulis |
---|
Kembali
- penyangga ini
Melempar
BufferUnderflowException | jika tidak ada cukup nilai untuk disalin dari buffer ini |
---|
abstrak publik ByteDataBuffer baca (byte[] dst, int offset, int panjang)
Metode pengambilan massal, menggunakan array byte.
Metode ini mentransfer nilai dari buffer ini ke array tujuan tertentu. Jika ada lebih sedikit nilai dalam buffer daripada yang dibutuhkan untuk memenuhi permintaan, yaitu jika length > size()
, maka tidak ada nilai yang ditransfer dan BufferUnderflowException dilempar.
Jika tidak, metode ini akan menyalin nilai n = length
dari buffer ini ke dalam larik tertentu mulai dari offset tertentu.
Parameter
dst | array tempat nilai akan ditulis |
---|---|
mengimbangi | offset dalam array dari nilai pertama yang akan ditulis; harus non-negatif dan tidak lebih besar dari dst.length |
panjang | jumlah maksimum nilai yang akan ditulis ke array tertentu; harus non-negatif dan tidak lebih besar dari dst.length - offset |
Kembali
- penyangga ini
Melempar
BufferUnderflowException | jika ada kurang dari nilai panjang yang tersisa di buffer ini |
---|---|
IndexOutOfBoundsException | jika prasyarat pada parameter offset dan panjang tidak terpenuhi |
public abstract ByteDataBuffer setByte (nilai byte, indeks panjang)
Menulis byte tertentu ke dalam buffer ini pada indeks yang diberikan.
Parameter
nilai | byte yang akan ditulis |
---|---|
indeks | indeks di mana nilai akan ditulis |
Kembali
- penyangga ini
Melempar
IndexOutOfBoundsException | jika indeks negatif atau tidak lebih kecil dari ukuran buffer |
---|---|
ReadOnlyBufferException | jika buffer ini bersifat read-only |
irisan ByteDataBuffer abstrak publik (indeks panjang, ukuran panjang)
Membuat buffer baru yang kontennya merupakan kelanjutan bersama dari konten buffer ini, dimulai dari indeks tertentu dan ukuran tertentu.
Indeks ditambah ukuran baru tidak boleh lebih besar dari ukuran buffer ini. Perubahan pada konten buffer ini akan terlihat di buffer baru dan sebaliknya. Buffer baru akan bersifat read-only jika, dan hanya jika, buffer ini bersifat read-only.
Parameter
indeks | indeks nilai pertama buffer baru yang dibuat |
---|---|
ukuran | ukuran buffer baru ini, tidak boleh lebih besar dari size() |
Kembali
- penyangga baru
jendela DataBufferWindow abstrak publik < ByteDataBuffer > (ukuran panjang)
Membuat DataBufferWindow
yang menyediakan sebagian tampilan buffer ini.
Jendela yang dibuat memiliki ukuran tetap dan dapat "slide"
di sepanjang buffer ini untuk memberikan tampilan data yang berbeda tanpa mengalokasikan instance buffer baru, seperti yang dilakukan offset(long)
. Hal ini meningkatkan kinerja secara keseluruhan ketika operasi ini sering diulang. Misalnya:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
Objek yang dikembalikan bersifat stateful dan tidak aman untuk thread.
Parameter
ukuran | ukuran jendela |
---|
Kembali
- jendela baru yang dimulai pada indeks 0 buffer ini
abstrak publik ByteDataBuffer tulis (byte[] src)
Metode penempatan massal, menggunakan array byte.
Metode ini mentransfer nilai dalam array sumber tertentu ke dalam buffer ini. Jika ada lebih banyak nilai dalam array sumber daripada di buffer ini, yaitu jika src.length > size()
, maka tidak ada nilai yang ditransfer dan BufferOverflowException dilempar.
Jika tidak, metode ini akan menyalin nilai n = src.length
dari array yang diberikan.
Parameter
src | array sumber dari mana nilai akan dibaca |
---|
Kembali
- penyangga ini
Melempar
Pengecualian BufferOverflow | jika tidak ada cukup ruang di buffer ini untuk nilai dalam array sumber |
---|---|
ReadOnlyBufferException | jika buffer ini bersifat read-only |
abstrak publik ByteDataBuffer tulis (byte[] src, int offset, int panjang)
Metode penempatan massal, menggunakan array byte.
Metode ini mentransfer nilai dalam array sumber tertentu ke dalam buffer ini. Jika ada lebih banyak nilai dalam array sumber daripada di buffer ini, yaitu jika length > size()
, maka tidak ada nilai yang ditransfer dan BufferOverflowException dilempar.
Jika tidak, metode ini akan menyalin nilai n = length
dari larik tertentu ke dalam buffer ini, dimulai dari offset yang ditentukan.
Parameter
src | array sumber dari mana nilai akan dibaca |
---|---|
mengimbangi | offset dalam array dari nilai pertama yang dibaca; harus non-negatif dan tidak lebih besar dari src.length |
panjang | jumlah nilai yang akan dibaca dari array tertentu; harus non-negatif dan tidak lebih besar dari src.length - offset |
Kembali
- penyangga ini
Melempar
Pengecualian BufferOverflow | jika tidak ada cukup ruang di buffer ini untuk nilai dalam array sumber |
---|---|
IndexOutOfBoundsException | jika prasyarat pada parameter offset dan panjang tidak terpenuhi |
ReadOnlyBufferException | jika buffer ini bersifat read-only |