ByteDataBuffer

giao diện công cộng ByteDataBuffer

DataBuffer dữ liệu byte.

Phương pháp công khai

trừu tượng BooleanDataBuffer
asBooleans ()
Trả về bộ đệm byte này dưới dạng bộ đệm của boolean.
trừu tượng DoubleDataBuffer
nhưĐôi ()
Trả về bộ đệm byte này dưới dạng bộ đệm gấp đôi.
trừu tượng FloatDataBuffer
asFloats ()
Trả về bộ đệm byte này dưới dạng bộ đệm float.
trừu tượng IntDataBuffer
asInts ()
Trả về bộ đệm byte này dưới dạng bộ đệm của int.
trừu tượng LongDataBuffer
asLongs ()
Trả về bộ đệm byte này dưới dạng bộ đệm có độ dài.
Tóm tắt ShortDataBuffer
asShorts ()
Trả về bộ đệm byte này dưới dạng bộ đệm ngắn.
trừu tượng ByteDataBuffer
copyTo ( DataBuffer <Byte> dst, kích thước dài)
byte trừu tượng
getByte (chỉ mục dài)
Đọc byte tại chỉ mục đã cho.
byte trừu tượng
getObject (chỉ số dài)
Đọc giá trị tại chỉ mục đã cho.
trừu tượng ByteDataBuffer
hẹp (kích thước dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, có kích thước được đặt thành giá trị đã cho.
trừu tượng ByteDataBuffer
bù đắp (chỉ số dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho.
trừu tượng ByteDataBuffer
đọc (byte[] dst)
Phương thức lấy số lượng lớn, sử dụng mảng byte.
trừu tượng ByteDataBuffer
đọc (byte[] dst, int offset, int length)
Phương thức lấy số lượng lớn, sử dụng mảng byte.
trừu tượng ByteDataBuffer
setByte (giá trị byte, chỉ mục dài)
Ghi byte đã cho vào bộ đệm này theo chỉ mục đã cho.
trừu tượng ByteDataBuffer
setObject (Giá trị byte, chỉ mục dài)
trừu tượng ByteDataBuffer
lát (chỉ số dài, kích thước dài)
Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho và có kích thước nhất định.
trừu tượng DataBufferWindow < ByteDataBuffer >
cửa sổ (kích thước dài)
Tạo DataBufferWindow cung cấp chế độ xem một phần bộ đệm này.
trừu tượng ByteDataBuffer
viết (byte[] src)
Phương pháp đặt hàng loạt, sử dụng mảng byte.
trừu tượng ByteDataBuffer
ghi (byte[] src, int offset, int length)
Phương pháp đặt hàng loạt, sử dụng mảng byte.

Phương pháp kế thừa

Phương pháp công khai

trừu tượng công khai BooleanDataBuffer asBooleans ()

Trả về bộ đệm byte này dưới dạng bộ đệm của boolean.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

tóm tắt công khai DoubleDataBuffer asDoubles ()

Trả về bộ đệm byte này dưới dạng bộ đệm gấp đôi.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

trừu tượng công khai FloatDataBuffer asFloats ()

Trả về bộ đệm byte này dưới dạng bộ đệm float.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

tóm tắt công khai IntDataBuffer asInts ()

Trả về bộ đệm byte này dưới dạng bộ đệm của int.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

tóm tắt công khai LongDataBuffer asLongs ()

Trả về bộ đệm byte này dưới dạng bộ đệm có độ dài.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

tóm tắt công khai ShortDataBuffer asShorts ()

Trả về bộ đệm byte này dưới dạng bộ đệm ngắn.

Bộ đệm được trả về cung cấp một chế độ xem khác trên cùng bộ nhớ với bộ đệm byte ban đầu, nghĩa là việc thay đổi giá trị trong một bộ đệm sẽ ảnh hưởng đến bộ đệm kia.

Trả lại
Ném
Ngoại lệ nhà nước bất hợp pháp nếu bộ đệm này không thể được chuyển đổi

tóm tắt công khai ByteDataBuffer copyTo ( DataBuffer <Byte> dst, kích thước dài)

byte trừu tượng công khai getByte (chỉ mục dài)

Đọc byte tại chỉ mục đã cho.

Thông số
mục lục chỉ mục mà từ đó float sẽ được đọc
Trả lại
  • byte tại chỉ mục đã cho
Ném
IndexOutOfBoundsNgoại lệ nếu chỉ số âm hoặc không nhỏ hơn kích thước bộ đệm

tóm tắt công khai Byte getObject (chỉ mục dài)

Đọc giá trị tại chỉ mục đã cho. Quan trọng: Việc sử dụng phương pháp này nên được giới hạn ở các bộ đệm thuộc loại không nguyên thủy hoặc khi kiểu dữ liệu không được người gọi xác định rõ ràng. Trong mọi trường hợp khác, hãy ưu tiên sử dụng biến thể nguyên thủy của nó để cải thiện đáng kể hiệu suất (ví dụ: IntDataBuffer.getInt(idx)

Thông số
mục lục chỉ mục mà từ đó float sẽ được đọc
Trả lại
  • giá trị tại chỉ số đã cho

tóm tắt công khai ByteDataBuffer thu hẹp (kích thước dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, có kích thước được đặt thành giá trị đã cho.

Kích thước mới không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Cuộc gọi này tương đương với slice(0, size)

Thông số
kích cỡ kích thước của bộ đệm mới này
Trả lại
  • bộ đệm mới

phần ByteDataBuffer trừu tượng công khai (chỉ mục dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho.

Chỉ mục không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Cuộc gọi này tương đương với slice(index, size() - index)

Thông số
mục lục chỉ mục của giá trị đầu tiên của bộ đệm mới được tạo, không được lớn hơn size()
Trả lại
  • bộ đệm mới

Tóm tắt công khai ByteDataBuffer đã đọc (byte[] dst)

Phương thức lấy số lượng lớn, sử dụng mảng byte.

Phương thức này chuyển các giá trị từ bộ đệm này vào mảng đích đã cho. Nếu có ít giá trị trong bộ đệm hơn mức cần thiết để đáp ứng yêu cầu, tức là nếu dst.length > size() thì không có giá trị nào được chuyển và BufferUnderflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = dst.length từ bộ đệm này vào mảng đã cho.

Thông số
dst mảng mà các giá trị sẽ được ghi vào
Trả lại
  • bộ đệm này
Ném
Bộ đệmUnderflowNgoại lệ nếu không có đủ giá trị để sao chép từ bộ đệm này

Tóm tắt công khai Đọc ByteDataBuffer (byte[] dst, int offset, int length)

Phương thức lấy số lượng lớn, sử dụng mảng byte.

Phương thức này chuyển các giá trị từ bộ đệm này vào mảng đích đã cho. Nếu có ít giá trị trong bộ đệm hơn mức cần thiết để đáp ứng yêu cầu, tức là nếu length > size() thì không có giá trị nào được chuyển và BufferUnderflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = length từ bộ đệm này vào mảng đã cho bắt đầu từ offset đã cho.

Thông số
dst mảng mà các giá trị sẽ được ghi vào
bù lại phần bù trong mảng của giá trị đầu tiên được ghi; phải không âm và không lớn hơn dst.length
chiều dài số lượng giá trị tối đa được ghi vào mảng đã cho; phải không âm và không lớn hơn dst.length - offset
Trả lại
  • bộ đệm này
Ném
Bộ đệmUnderflowNgoại lệ nếu có ít hơn giá trị độ dài còn lại trong bộ đệm này
IndexOutOfBoundsNgoại lệ nếu các điều kiện tiên quyết trên tham số offset và độ dài không giữ được

tóm tắt công khai ByteDataBuffer setByte (giá trị byte, chỉ mục dài)

Ghi byte đã cho vào bộ đệm này theo chỉ mục đã cho.

Thông số
giá trị byte được ghi
mục lục chỉ số tại đó giá trị sẽ được viết
Trả lại
  • bộ đệm này
Ném
IndexOutOfBoundsNgoại lệ nếu chỉ số âm hoặc không nhỏ hơn kích thước bộ đệm
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc

tóm tắt công khai ByteDataBuffer setObject (Giá trị byte, chỉ mục dài)

Tóm tắt công khai lát ByteDataBuffer (chỉ mục dài, kích thước dài)

Tạo một bộ đệm mới có nội dung là một chuỗi con được chia sẻ của nội dung của bộ đệm này, bắt đầu từ chỉ mục đã cho và có kích thước nhất định.

Chỉ số cộng với kích thước mới không được lớn hơn kích thước bộ đệm này. Những thay đổi đối với nội dung của bộ đệm này sẽ hiển thị trong bộ đệm mới và ngược lại. Bộ đệm mới sẽ ở chế độ chỉ đọc khi và chỉ khi bộ đệm này ở chế độ chỉ đọc.

Thông số
mục lục chỉ mục của giá trị đầu tiên của bộ đệm mới được tạo
kích cỡ kích thước của bộ đệm mới này không được lớn hơn size()
Trả lại
  • bộ đệm mới

cửa sổ DataBufferWindow < ByteDataBuffer > trừu tượng công khai (kích thước dài)

Tạo DataBufferWindow cung cấp chế độ xem một phần bộ đệm này.

Cửa sổ được tạo có kích thước cố định và có thể "slide" dọc theo bộ đệm này để cung cấp các chế độ xem dữ liệu khác nhau mà không cần phân bổ phiên bản bộ đệm mới, giống như offset(long) . Điều này cải thiện hiệu suất tổng thể khi thao tác này được lặp lại thường xuyên. Ví dụ:

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;
     
 }
 }

Đối tượng được trả về có trạng thái và không an toàn theo luồng.

Thông số
kích cỡ kích thước của cửa sổ
Trả lại
  • một cửa sổ mới bắt đầu ở chỉ số 0 của bộ đệm này

tóm tắt công khai ghi ByteDataBuffer (byte[] src)

Phương pháp đặt hàng loạt, sử dụng mảng byte.

Phương thức này chuyển các giá trị trong mảng nguồn đã cho vào bộ đệm này. Nếu có nhiều giá trị trong mảng nguồn hơn trong bộ đệm này, tức là nếu src.length > size() thì không có giá trị nào được chuyển và BufferOverflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = src.length từ mảng đã cho.

Thông số
src mảng nguồn mà từ đó các giá trị sẽ được đọc
Trả lại
  • bộ đệm này
Ném
BufferOverflowNgoại lệ nếu không có đủ không gian trong bộ đệm này cho các giá trị trong mảng nguồn
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc

Tóm tắt công khai ByteDataBuffer ghi (byte[] src, int offset, int length)

Phương pháp đặt hàng loạt, sử dụng mảng byte.

Phương thức này chuyển các giá trị trong mảng nguồn đã cho vào bộ đệm này. Nếu có nhiều giá trị trong mảng nguồn hơn trong bộ đệm này, tức là nếu length > size() thì không có giá trị nào được chuyển và BufferOverflowException sẽ được ném ra.

Mặt khác, phương thức này sao chép các giá trị n = length từ mảng đã cho vào bộ đệm này, bắt đầu từ offset đã cho.

Thông số
src mảng nguồn mà từ đó các giá trị sẽ được đọc
bù lại phần bù trong mảng của giá trị đầu tiên được đọc; phải không âm và không lớn hơn src.length
chiều dài số lượng giá trị được đọc từ mảng đã cho; phải không âm và không lớn hơn src.length - offset
Trả lại
  • bộ đệm này
Ném
BufferOverflowNgoại lệ nếu không có đủ không gian trong bộ đệm này cho các giá trị trong mảng nguồn
IndexOutOfBoundsNgoại lệ nếu các điều kiện tiên quyết trên tham số offset và độ dài không giữ được
ReadOnlyBufferNgoại lệ nếu bộ đệm này ở chế độ chỉ đọc