Baytlardan oluşan bir DataBuffer
.
Genel Yöntemler
soyut BooleanDataBuffer | Boolean olarak () Bu bayt arabelleğini boolean arabelleği olarak döndürün. |
soyut DoubleDataBuffer | çiftler olarak () Bu bayt arabelleğini çiftlerin arabelleği olarak döndürün. |
özet FloatDataBuffer | Yüzer olarak () Bu bayt arabelleğini kayan nokta arabelleği olarak döndürün. |
özet IntDataBuffer | asInt'ler () Bu bayt arabelleğini int arabelleği olarak döndürün. |
özet LongDataBuffer | asUzun () Bu bayt arabelleğini uzun değerlerin arabelleği olarak döndürün. |
özet ShortDataBuffer | Şort () Bu bayt arabelleğini kısa devre arabelleği olarak döndürün. |
soyut ByteDataBuffer | copyTo ( DataBuffer <Byte> dst, uzun boyut) |
soyut bayt | getByte (uzun dizin) Verilen dizindeki baytı okur. |
soyut bayt | getObject (uzun dizin) Verilen indeksteki değeri okur. |
soyut ByteDataBuffer | dar (uzun boy) İçeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan ve boyutu verilen değere ayarlanmış yeni bir arabellek oluşturur. |
soyut ByteDataBuffer | ofset (uzun indeks) Verilen dizinden başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
soyut ByteDataBuffer | okuma (bayt[] dst) Bayt dizilerini kullanan toplu alma yöntemi. |
soyut ByteDataBuffer | okuma (byte[] dst, int ofset, int uzunluk) Bayt dizilerini kullanan toplu alma yöntemi. |
soyut ByteDataBuffer | setByte (bayt değeri, uzun dizin) Verilen baytı, verilen dizindeki bu arabelleğe yazar. |
soyut ByteDataBuffer | setObject (Bayt değeri, uzun dizin) |
soyut ByteDataBuffer | dilim (uzun dizin, uzun boyut) Verilen dizinden ve verilen boyuttan başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur. |
özet DataBufferWindow < ByteDataBuffer > | pencere (uzun boy) Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow oluşturur. |
soyut ByteDataBuffer | yaz (bayt[] kaynak) Bayt dizilerini kullanan toplu koyma yöntemi. |
soyut ByteDataBuffer | yazma (bayt[] kaynak, int ofset, int uzunluk) Bayt dizilerini kullanan toplu koyma yöntemi. |
Kalıtsal Yöntemler
Genel Yöntemler
genel özet BooleanDataBuffer asBooleans ()
Bu bayt arabelleğini boolean arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
- bu arabellek
BooleanDataBuffer
olarak
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel özet DoubleDataBuffer asDoubles ()
Bu bayt arabelleğini çiftlerin arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
- bu arabellek
DoubleDataBuffer
olarak
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel özet FloatDataBuffer asFloats ()
Bu bayt arabelleğini kayan nokta arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
- bu arabellek
FloatDataBuffer
olarak
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel özet IntDataBuffer asInts ()
Bu bayt arabelleğini int arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
- bu arabellek
IntDataBuffer
olarak
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel özet LongDataBuffer asLongs ()
Bu bayt arabelleğini uzun değerlerin arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
-
LongDataBuffer
olarak bu arabellek
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel özet ShortDataBuffer asShorts ()
Bu bayt arabelleğini kısa devre arabelleği olarak döndürün.
Döndürülen arabellek, orijinal bayt arabelleğiyle aynı bellek üzerinde farklı bir görünüm sağlar; bu, birindeki değerin değiştirilmesinin diğerini etkileyeceği anlamına gelir.
İade
- bu arabellek bir
ShortDataBuffer
olarak
Atar
Yasadışı Durum İstisnası | eğer bu arabellek dönüştürülemezse |
---|
genel soyut bayt getByte (uzun dizin)
Verilen dizindeki baytı okur.
Parametreler
dizin | kayan noktanın okunacağı dizin |
---|
İade
- verilen dizindeki bayt
Atar
IndexOutOfBoundsException | indeks negatifse veya arabellek boyutundan küçük değilse |
---|
genel özet Bayt getObject (uzun dizin)
Verilen indeksteki değeri okur. Önemli: Bu yöntemin kullanımı, ilkel olmayan türlerdeki arabelleklerle veya veri türünün arayan tarafından belirleyici olarak bilinmediği durumlarda sınırlı olmalıdır. Diğer durumlarda, performansı önemli ölçüde artıracak ilkel varyantının kullanımını tercih edin (örn. IntDataBuffer.getInt(idx)
Parametreler
dizin | kayan noktanın okunacağı dizin |
---|
İade
- verilen endeksteki değer
genel özet ByteDataBuffer dar (uzun boyutlu)
İçeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan ve boyutu verilen değere ayarlanmış yeni bir arabellek oluşturur.
Yeni boyut bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Bu çağrı slice(0, size)
eşdeğerdir
Parametreler
boyut | bu yeni arabelleğin boyutu |
---|
İade
- yeni tampon
genel özet ByteDataBuffer ofseti (uzun dizin)
Verilen dizinden başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur.
Dizin bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Bu çağrı slice(index, size() - index)
ile eşdeğerdir
Parametreler
dizin | oluşturulan yeni arabelleğin ilk değerinin dizini, size() değerinden büyük olmamalıdır |
---|
İade
- yeni tampon
genel özet ByteDataBuffer okuması (byte[] dst)
Bayt dizilerini kullanan toplu alma yöntemi.
Bu yöntem, değerleri bu arabellekten verilen hedef diziye aktarır. Arabellekte isteği karşılamak için gerekenden daha az değer varsa, yani dst.length > size()
ise hiçbir değer aktarılmaz ve bir BufferUnderflowException oluşturulur.
Aksi takdirde, bu yöntem n = dst.length
değerlerini bu arabellekten verilen diziye kopyalar.
Parametreler
dst | değerlerin yazılacağı dizi |
---|
İade
- bu tampon
Atar
TamponUnderflowException | bu arabellekten kopyalanacak yeterli değer yoksa |
---|
genel özet ByteDataBuffer okuması (byte[] dst, int offset, int uzunluk)
Bayt dizilerini kullanan toplu alma yöntemi.
Bu yöntem, değerleri bu arabellekten verilen hedef diziye aktarır. Arabellekte isteği karşılamak için gerekenden daha az değer varsa, yani length > size()
ise hiçbir değer aktarılmaz ve bir BufferUnderflowException oluşturulur.
Aksi takdirde, bu yöntem, n = length
değerlerini bu arabellekten verilen uzaklıktan başlayarak verilen diziye kopyalar.
Parametreler
dst | değerlerin yazılacağı dizi |
---|---|
telafi etmek | yazılacak ilk değerin dizisi içindeki uzaklık; negatif olmamalı ve dst.length büyük olmamalıdır |
uzunluk | verilen diziye yazılacak maksimum değer sayısı; negatif olmamalı ve dst.length - offset değerinden büyük olmamalıdır |
İade
- bu tampon
Atar
TamponUnderflowException | bu arabellekte uzunluk değerinden daha az değer kaldıysa |
---|---|
IndexOutOfBoundsException | ofset ve uzunluk parametrelerindeki ön koşullar karşılanmıyorsa |
genel özet ByteDataBuffer setByte (bayt değeri, uzun dizin)
Verilen baytı, verilen dizindeki bu arabelleğe yazar.
Parametreler
değer | yazılacak bayt |
---|---|
dizin | değerin yazılacağı dizin |
İade
- bu tampon
Atar
IndexOutOfBoundsException | indeks negatifse veya arabellek boyutundan küçük değilse |
---|---|
ReadOnlyBufferException | bu arabellek salt okunursa |
genel özet ByteDataBuffer dilimi (uzun dizin, uzun boyut)
Verilen dizinden ve verilen boyuttan başlayarak, içeriği bu arabellek içeriğinin paylaşılan bir alt dizisi olan yeni bir arabellek oluşturur.
Dizin artı yeni boyut bu arabellek boyutundan büyük olmamalıdır. Bu arabelleğin içeriğinde yapılan değişiklikler yeni arabellekte görünür olacaktır ve bunun tersi de geçerlidir. Yeni arabellek, yalnızca ve yalnızca bu arabellek salt okunursa salt okunur olacaktır.
Parametreler
dizin | oluşturulan yeni arabelleğin ilk değerinin dizini |
---|---|
boyut | bu yeni arabelleğin boyutu size() dan büyük olmamalıdır |
İade
- yeni tampon
genel özet DataBufferWindow < ByteDataBuffer > pencere (uzun boyutlu)
Bu arabelleğin kısmi görünümünü sağlayan bir DataBufferWindow
oluşturur.
Oluşturulan pencerenin sabit bir boyutu vardır ve offset(long)
yaptığı gibi, yeni bir arabellek örneği tahsis etmeden verilerin farklı görünümlerini sağlamak için bu arabellek boyunca "slide"
. Bu işlem sık sık tekrarlandığında genel performansı artırır. Örneğin:
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;
}
}
Döndürülen nesne durum bilgilidir ve iş parçacığı açısından güvenli değildir.
Parametreler
boyut | pencerenin boyutu |
---|
İade
- bu arabelleğin 0 dizininde başlayan yeni bir pencere
genel özet ByteDataBuffer yazma (byte[] src)
Bayt dizilerini kullanan toplu koyma yöntemi.
Bu yöntem, verilen kaynak dizideki değerleri bu ara belleğe aktarır. Kaynak dizide bu arabellektekinden daha fazla değer varsa, yani src.length > size()
ise hiçbir değer aktarılmaz ve bir BufferOverflowException oluşturulur.
Aksi takdirde, bu yöntem verilen diziden n = src.length
değerlerini kopyalar.
Parametreler
kaynak | değerlerin okunacağı kaynak dizisi |
---|
İade
- bu tampon
Atar
BufferOverflowException | kaynak dizideki değerler için bu arabellekte yeterli alan yoksa |
---|---|
ReadOnlyBufferException | bu arabellek salt okunursa |
genel özet ByteDataBuffer yazma (byte[] src, int offset, int uzunluk)
Bayt dizilerini kullanan toplu koyma yöntemi.
Bu yöntem, verilen kaynak dizideki değerleri bu ara belleğe aktarır. Kaynak dizide bu arabellektekinden daha fazla değer varsa, yani length > size()
ise hiçbir değer aktarılmaz ve bir BufferOverflowException oluşturulur.
Aksi takdirde, bu yöntem, verilen diziden n = length
değerlerini, verilen konumdan başlayarak bu ara belleğe kopyalar.
Parametreler
kaynak | değerlerin okunacağı kaynak dizisi |
---|---|
telafi etmek | okunacak ilk değerin dizisi içindeki uzaklık; negatif olmamalı ve src.length büyük olmamalıdır |
uzunluk | verilen diziden okunacak değerlerin sayısı; negatif olmamalı ve src.length - offset değerinden büyük olmamalıdır |
İade
- bu tampon
Atar
BufferOverflowException | kaynak dizideki değerler için bu arabellekte yeterli alan yoksa |
---|---|
IndexOutOfBoundsException | ofset ve uzunluk parametrelerindeki ön koşullar karşılanmıyorsa |
ReadOnlyBufferException | bu arabellek salt okunursa |