DataBuffer
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 nổi. |
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ỉ số 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
- bộ đệm này dưới dạng
BooleanDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | nếu bộ đệm này không thể được chuyển đổi |
---|
trừu tượng 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
- bộ đệm này dưới dạng
DoubleDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | 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 nổ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
- bộ đệm này dưới dạng
FloatDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | 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
- bộ đệm này dưới dạng
IntDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | 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
- bộ đệm này dưới dạng
LongDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | 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 của quần short.
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
- bộ đệm này dưới dạng
ShortDataBuffer
Ném
Trạng thái bất hợp phápNgoại lệ | nếu bộ đệm này không thể được chuyển đổ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ố
chỉ số | 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ố
chỉ số | 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 bù 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ố
chỉ số | 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 |
---|---|
chỉ số | 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 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ố
chỉ số | 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, nghĩa 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 |