NIO support
2023. 2. 14. 11:27ㆍ자바
NIO
New Input/Output
채널(Channel)이 양방향 버퍼를 통해 외부 데이터와 통신한다.
java.io, java.nio와 java.nio의 하위패키지는 자바에서 IO처리를 할 때 쓰입니다.
IO는 Input Output의 약자이며, NIO는 IO와 달리 읽기/쓰기를 하나의 통로를 통해 해결합니다.
java.nio package
NIO 패키지에는 세 가지의 주요 개념이 사용됩니다.
1. Channel: 애플리케이션 간의 데이터 스트림을 표현합니다.
File Channel: 파일과 함께 작동
DatagramChannel: UDP 통신을 지원
SocketChannel: TCP client와 함께 사용
ServerSocketChannel: TCP server와 함께 사용
2. Buffer: 채널과 함께 작동하여 데이터를 전달합니다.
이름에서 알 수 있듯이 버퍼는 데이터의 임시 저장소 입니다.
character, integer, and float와 같은 기본 data types을 지원하는 몇몇 버퍼 클래스가 있습니다.
채널과 버퍼는 서로 연결되어있습니다.
데이터는
채널 -> 버퍼로, 버퍼 -> 채널로
전달될 수 있습니다.
채널은 버퍼에 저장된 데이터를 출력하고,
입력된 데이터를 버퍼에 저장합니다.
채널은 양 방향의 버퍼를 통하여 외부의 데이터와 통신합니다.
3. Selector: 단일 thread로 여러개의 채널을 동시에 다룰 수 있도록합니다.
셀렉터는 애플리케이션을 확장하는 데 유용합니다.
'자바' 카테고리의 다른 글
Creating a simple echo server (0) | 2023.02.14 |
---|---|
The client/server architecture (0) | 2023.02.14 |
Using the URLConnection class withbuffers and channels (0) | 2023.02.14 |
Using the URLConnection class (0) | 2023.02.14 |
Network addressing using the InetAddress class (0) | 2023.02.14 |