JAVA NIO 독서 노트 제2 장 buffer
Buffers work hand in glove with channels 밀접 한 협력, 긴밀 한 협조 의 뜻
1 buffer 의 api flip poistion mark reset rewind 는 통신 을 쓰 는 인 코딩, 디 코딩 프로그램 에 상당히 좋 습 니 다.
2 These methods return a reference to the object they were invoked upon (this). This is a class design technique that allows for invocation chaining
buffer.mark().position(5).reset();
이런 스타일 의 api 를 invocation chainint 라 고 합 니 다.
사실 hibenate 의 Criteria 도 이런 스타일 입 니 다. 기본적으로 한 대상 에서 연속 적 인 조작 이 필요 한 것 은 이런 스타일 로 쓸 수 있 습 니 다.
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.in( "name", new String[] { "Fritz", "Izi", "Pk" } ) )
.add( Restrictions.disjunction()
.add( Restrictions.isNull("age") )
.add( Restrictions.eq("age", new Integer(0) ) )
.add( Restrictions.eq("age", new Integer(1) ) )
.add( Restrictions.eq("age", new Integer(2) ) )
) )
.list();
3. 대량 읽 기와 쓰 기 를 할 때 Buffer Underflow Exception, BufferOverFlowException 두 가지 이상 은 흔히 볼 수 있 습 니 다.
Buffer 는 라인 이 안전 한 것 이 아니 라 다음 과 같은 표기 법 으로 잠재 적 인 위험 이 있다
int count = buffer.remaining();
for (int i = 0; i < count, i++) {
myByteArray [i] = buffer.get(
}
4. Duplicate 작업 은 같은 데이터 의 두 개의 커서 를 얻 을 수 있 습 니 다. 즉, 우 리 는 더욱 복잡 한 일 을 할 수 있 습 니 다. 이것 은 반드시 응용 장면 이 있 을 것 입 니 다.
5 높낮이 (BIG ENDIAN, LITTLE ENDIAN) 문 제 는 ByteOrder 대상 으로 해결 할 수 있 습 니 다.
6 DirectBuffer 이론 적 으로 IO 작업 에 있어 성능 향상 을 가 져 올 수 있 지만 그 진정한 효율 은 환경의 영향 을 많이 받 아 메모리 사용 비용 이 힙 안에 있 지 않다.성능 향상 을 가 져 올 지 여 부 는 실측 해 야 하기 때문에 이 buffer 를 사용 하면 스위치 옵션 으로 사용 하 는 것 이 좋 습 니 다.
7 Memory - Mapped Buffers 는 메모리 맵 으로 파일 을 읽 고 쓸 수 있 지만 세부 사항 에 관심 을 가 져 야 할 수도 있 으 며 다음 분 해 를 들 을 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.