apache mina 학습(9)---IoBuffer
2928 단어 apache.
1.NIO ByteBuffer 는 사용 가능 한 getters 와 putters 를 제공 하지 않 았 습 니 다.
2.고정된 크기 에 가 변 길이 의 데 이 터 를 쓰기 어렵다.
물론 미 나 는 우리 에 게 원생 니 오의 ByteBuffer 를 사용 하지 말 라 는 것 이 아니다.이 점 을 우 리 는 IoBuffer 의 allocat 방법 으로 알 수 있다.
public static IoBuffer allocate(int capacity, boolean direct)
public static IoBuffer allocate(int capacity)
첫 번 째 매개 변 수 는 buffer 의 크기 이 고 두 번 째 매개 변 수 는 true 로 nio 를 표시 합 니 다.ByteBuffer,false 는 mina 의 buffer 를 사용 합 니 다.
자동 으로 확 장 된 buffer 를 만 들 려 면 nio 의 by tebuffer 는 매우 불편 합 니 다.이것 은 추가 적 인 작업 이 필요 하기 때 문 입 니 다.즉,우 리 는 스스로 작은 플러그 인 을 실현 해 야 합 니 다.물론 mina 의 buffer 를 사용 하면 훨씬 편리 합 니 다.
IoBuffer buffer = IoBuffer.allocate(8);
buffer.setAutoExpand(true);
buffer.putString("12345678", encoder);
// Add more to this buffer
buffer.put((byte)10);
buffer 는 자동 으로 확장 할 수 있 는 것 외 에 도 자동 으로 수축 할 수 있 습 니 다.
package com.test;
import org.apache.mina.core.buffer.IoBuffer;
public class TestOther {
public static void main(String[] args) {
IoBuffer buffer = IoBuffer.allocate(16);
buffer.setAutoShrink(true);
buffer.put((byte)1);
System.out.println("Initial Buffer capacity = "+buffer.capacity());
buffer.shrink();
System.out.println("Initial Buffer capacity after shrink = "+buffer.capacity());
buffer.capacity(32);
System.out.println("Buffer capacity after incrementing capacity to 32 = "+buffer.capacity());
buffer.shrink();
System.out.println("Buffer capacity after shrink= "+buffer.capacity());
}
}
실행:
Initial Buffer capacity = 16
Initial Buffer capacity after shrink = 16
Buffer capacity after incrementing capacity to 32 = 32
Buffer capacity after shrink=16 우 리 는 최소 길이 가 16 이 라 고 정 의 했 기 때문에 16 미 만 일 때 shrink 방법 을 사용 하면 줄 어 들 지 않 습 니 다.크기 가 32 로 설정 되 었 을 때 절반 의 공간 으로 만 저장 되 었 습 니 다.shrink 을 사용 한 후에 남 은 공간 은 방출 되 고 크기 도 반 으로 줄 어 자원 의 충분 한 이용 에 유리 합 니 다.
IoBufferAllocater 인 터 페 이 스 는 buffer 정책 을 분배 하고 관리 합 니 다.기본 값 은 Simple BufferAllocator 입 니 다.즉,매번 새로운 buffer 를 만 듭 니 다.물론 Cached BufferAllocator 는 buffer 를 다시 사용 하여 더 좋 은 성능 을 얻 을 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 파일 압축 및 압축 풀기파일 의 간단 한 압축 과 압축 해 제 를 실현 하 였 다.주요 테스트 용 에는 급 하 게 쓸 수 있 는 부분 이 있 으 니 불편 한 점 이 있 으 면 아낌없이 가르쳐 주 십시오. 1. 중국어 문 제 를 해 결 했 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.