버퍼 및 채널 자바 NIO

버퍼 (버퍼) : 
첫째, 자바 NIO의 데이터 액세스에 대한 책임이 있습니다. 버퍼 배열이다. 다른 데이터 유형의 데이터를 저장

(부울 제외한) 데이터의 종류에 따라, 해당 버퍼 타입을 제공하는 것이다 :
의 ByteBuffer
CharBuffer를
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
에 Doublebuffer

거의 동일한 상기 버퍼 관리부는, ()에 의해 버퍼를 할당 취득

두 액세스 데이터 버퍼 개의 코어있어서
PUT () 버퍼에 저장되어있는 데이터가
(GET) : 데이터 버퍼 얻기

셋, 넷 개 버퍼 핵심 특성 :
용량 : 용량 버퍼 것을 나타낸다 저장된 데이터의 최대 용량. 문 후에는 변경할 수 없습니다.
제한 : 제한은, 그 데이터의 버퍼 크기가 작동 될 수 나타낸다. (데이터가 판독 될 수없는 제한)
위치, 상기 버퍼가 상기 위치 데이터에서 동작하는 것을 나타낸다 : 위치.

마크 : 마크는 현재 위치의 기록 위치를 나타낸다. 마크) (리셋으로의 위치를 복원 할 수

0 <= 마크 <= 위치 < = 제한 <= 용량

네, 직접 버퍼 직접적 버퍼
간접 버퍼 () 메소드 버퍼를 할당 버퍼로 배분 지구는 JVM 메모리에 내장
직접 버퍼 ()에 의해 직접 allocateDirect 버퍼를 할당하기위한 방법은, 상기 버퍼가 물리적 인 메모리에 설정된다. 효율성을 향상시킬 수 있습니다

채널 (채널) :
첫째, 소스 노드와 목적지 노드를 연결합니다. 자바 NIO의 버퍼에서 데이터의 전송을 담당. 채널 데이터 자체에 저장되고, 따라서 버퍼로 전송 될 필요가 아니다.

둘째, 구현 클래스의 메인 채널
java.nio.channels.Channel 인터페이스 :
| --FileChannel
| --SocketChannel
| --ServerSocketChannel
| --DatagramChannel

셋째, 액세스 채널
1. 자바주는 getChannel 클래스의 통과를 위해 지원을 제공합니다 () 메소드를
지역 IO :
FileInputStream에 / FileOutputStream에
RandomAccessFile의

네트워크 IO는 :
소켓
ServerSocket의
DatagramSocket로

1.7 NIO.2 JDK 2. 각 채널에 대한 고정 방법을 제공 열기 ()
3. JDK 1.7 newByteChannel 도구의 NIO.2의 파일 ( )

네 개의 채널들 사이의 데이터 전송
transferFrom ()
transferTo ()

V. 분산 (산란) 및 응집 (수집)
분산액 (산란 판독) 판독은, 상기 데이터 채널은 복수의 버퍼에 분산된다
(골재 쓰기 수집) 글 : 통로 데이터 버퍼 복수 집계

여섯째, 문자 세트 : 문자 세트
인코딩 : 문자열 -> 바이트 배열
디코딩 : 바이트 배열 -> 문자열

추천

출처www.cnblogs.com/kesimin/p/11348072.html