| คลาสย่อยทางอ้อมที่รู้จัก  AbstractDataBufferWindow <B ขยาย DataBuffer <?>>  | 
 คอนเทนเนอร์ที่ไม่แน่นอนสำหรับการดูส่วนหนึ่งของ DataBuffer
 หน้าต่างบัฟเฟอร์ข้อมูลมีขนาดคงที่และสามารถ "slide" ไปตามบัฟเฟอร์เพื่อให้มีมุมมองที่แตกต่างกันของข้อมูลโดยไม่ต้องจัดสรรอินสแตนซ์บัฟเฟอร์ใหม่ เช่นเดียวกับ offset(long) ซึ่งช่วยปรับปรุงประสิทธิภาพโดยรวมเมื่อมีการทำซ้ำบ่อยครั้ง ตัวอย่างเช่น:
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;
     
 }
 } อินสแตนซ์ DataBufferWindow มีสถานะและไม่ปลอดภัยสำหรับเธรด 
วิธีการสาธารณะ
| นามธรรมบี |  บัฟเฟอร์ ()  ส่งกลับบัฟเฟอร์ที่สนับสนุนหน้าต่างนี้ | 
| ยาวเป็นนามธรรม |  ชดเชย ()  ส่งกลับค่าชดเชยปัจจุบันของหน้าต่างนี้ในบัฟเฟอร์เดิม | 
| ยาวเป็นนามธรรม |  ขนาด ()  ส่งกลับขนาดของหน้าต่างบัฟเฟอร์นี้ | 
| บทคัดย่อ DataBufferWindow <B> |  สไลด์ (ก้าวยาว)  ย้ายหน้าต่างขององค์ประกอบ  stepในบัฟเฟอร์เดิม | 
| บทคัดย่อ DataBufferWindow <B> |  slideTo (ดัชนียาว)  ย้ายหน้าต่างไปยังตำแหน่งที่กำหนดในบัฟเฟอร์เดิม  | 
วิธีการสาธารณะ
บัฟเฟอร์ B บทคัดย่อสาธารณะ ()
ส่งกลับบัฟเฟอร์ที่สนับสนุนหน้าต่างนี้
 แต่ละอินสแตนซ์ของหน้าต่างมีบัฟเฟอร์ของตัวเองเพื่อให้ดู DataBuffer ดั้งเดิมได้ บัฟเฟอร์จะกลายพันธุ์เมื่อหน้าต่างเลื่อนไปที่ออฟเซ็ตที่แตกต่างกัน ตัวอย่างเช่น:
IntDataBuffer buffer = DataBuffers.of(0, 1, 2, 3);
 DataBufferWindow<IntDataBuffer> window = buffer.window(0, 2);
 IntDataBuffer windowBuffer = window.buffer();
 assertEquals(0, windowBuffer.getInt(0));
 assertEquals(1, windowBuffer.getInt(1));
 window.slideTo(2);
 assertEquals(2, windowBuffer.getInt(0));
 assertEquals(3, windowBuffer.getInt(1));
 assertSame(windowBuffer, window.buffer());
 การส่งคืน
- บัฟเฟอร์ของหน้าต่างนี้
ออฟเซ็ต ยาวนามธรรมสาธารณะ ()
ส่งกลับค่าชดเชยปัจจุบันของหน้าต่างนี้ในบัฟเฟอร์เดิม
ขนาด ยาวนามธรรมสาธารณะ ()
ส่งกลับขนาดของหน้าต่างบัฟเฟอร์นี้
สไลด์ DataBufferWindow นามธรรมสาธารณะ <B> (ขั้นตอนยาว)
 ย้ายหน้าต่างขององค์ประกอบ step ในบัฟเฟอร์เดิม
 ขนาดของหน้าต่างยังคงเท่าเดิมและออฟเซ็ตของมันถูกตั้งค่าเป็น offset() + step หาก step เป็นบวก หน้าต่างจะเลื่อนไปข้างหน้า หากเป็นลบก็จะเลื่อนถอยหลัง 
พารามิเตอร์
| ขั้นตอน | ค่าที่จะเพิ่มให้กับออฟเซ็ตปัจจุบันของหน้าต่างนี้ | 
|---|
การส่งคืน
- อินสแตนซ์นี้
ขว้าง
| IndexOutOfBoundsException | หากไม่สามารถเลื่อนหน้าต่างได้เนื่องจากเกินขีดจำกัดบัฟเฟอร์เดิม | 
|---|
สาธารณะบทคัดย่อ DataBufferWindow <B> slideTo (ดัชนียาว)
ย้ายหน้าต่างไปยังตำแหน่งที่กำหนดในบัฟเฟอร์เดิม
 ขนาดของหน้าต่างยังคงเท่าเดิมและออฟเซ็ตถูกตั้งค่าเป็น index ดังนั้นการเข้าถึงค่าของ buffer() ที่ดัชนี x จะส่งกลับค่าที่ index + x ในบัฟเฟอร์ดั้งเดิม 
พารามิเตอร์
| ดัชนี | ออฟเซ็ตใหม่สำหรับหน้าต่างนี้ | 
|---|
การส่งคืน
- อินสแตนซ์นี้
ขว้าง
| IndexOutOfBoundsException | หากไม่สามารถเลื่อนหน้าต่างได้เนื่องจากเกินขีดจำกัดบัฟเฟอร์เดิม | 
|---|