• 검색 결과가 없습니다.

자바네트워크 제11주

N/A
N/A
Protected

Academic year: 2022

Share "자바네트워크 제11주"

Copied!
34
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

자바네트워크 제11주

채널

(2)

제14장 채널

필요성

채널개요

채널의 기본인터페이스

파일채널

소켓채널

논의

(3)

필요성

채널은 궁극적으로 native 자료에 매핑하는 것이다.

(4)

채널개요

파일 또는 소켓의 native IO 서비스를 활용하도록 해준다.

Interface 임.

ByteBuffer ByteBuffer

Channel

(5)

Java Document

(6)

채널의 특징

데이터의 타겟이 ByteBuffer 이다.

직간접적으로 native IO 서비스를 사용하여 빠르다.

일반적으로 양방향 통신이 가능하다.

(7)

채널의 기본 인터페이스

Interface 기반으로 작성하여 플랫폼이 다르더라도 같은 동 작을 할 수 있도록 동작의 정의만 기술함.

Channel

WritableByteChannel ReadableByteChannel InterruptibleChannel

GatheringByteChannel ByteChannel ScatteringByteChannel

(8)

Channel, InterruptibleChannel

Channel

InterruptibleChannel

(9)

StreamTest

StreamTest

TestThread

IO 상태의 불일치 발생

실행 결과

(10)

ReadableByteChannel, WritableByteChannel, ByteChannel

ReadableByteChannel

WritableByteChannel

ByteChannel read and write

(11)

SimpleChannelTest

한글 사용에 문제가 있음.

(12)

ScatteringByteChannel, GatheringByteChannel

ScatteringByteChannel

GatheringByteChannel

(13)

Scatter 동작

channel.read(buffers)

(14)

ScatterTest

(15)

Gather 동작

channel.write(buffers)

(16)

GatheringTest

(17)

파일채널

(18)

파일채널의 특징

항상 블록킹 모드로 동작한다.

비블록킹모드로 설정할 수 없다.

파일채널 객체는 직접 만들 수 없다.

열려있는 파일스트림의 getChannel() 함수를 사용해야 한다.

파일채널도 native IO 서비스를 최대한 사용하려고 한다.

파일채널 객체는 스레드에 안전하다.

(19)

파일채널 속성

(20)

파일채널 속성

(21)

파일락킹(File Locking)

파일락킹은 JVM내의 프로세스사이의 관계가 아니라 JVM 외부의 프로세스(다른 프로그램)과의 관계를 설정한다.

(22)

FileLock

(23)

사용상 주의

항상 사용 후에는 release 해 주어야 한다.

(24)

FileLockTest

(25)

메모리 매핑

File

MappedByteBuffer

FileChannel.map()

(26)

MapMode

매핑은 한번 설정되면 Buffer가 없어질 때까지 지속된다.

(27)

MappedByteBuffer

(28)

채널간 직접전송

(29)

소켓 채널

비블록킹 IO 가능

멀티플렉스 IO 지원 (Selector)

(30)

SelectableChannel

(31)

ServerSocketChannel

(32)

SocketChannel

• methods

(33)

DatagramChannel

(34)

논의

• IO와 NIO는 서로 보완적으로 사용해야 한다.

참조

관련 문서

- 자유주의와 부르주아의 권력 도전을 방어 - 노동계급의 사회주의적 저항과 혁명을 방지 국가가 노동계급의 복지제공자 역할 수행 노동자는 군주에게

 CPU 내에 데이터가 담겨 있는 메모리 주소를 임시 저장하는 장소.  CPU 내에 데이터가 담겨 있는 메모리 주소를

• Channel : an open connection to hardware device, file, network, program component.. •

mark 동일한 메모리 참조,

메모리 카드나 내장 메모리가 포맷되지 않았거나 메모리 카드가 컴퓨터 또는 다른 장치에서 포맷되었습니다. 카메라 설정 메뉴(98페이지)에서 K 포맷 옵션을

◦ 읽기와 쓰기 동작이 자유로운 편이어서 RAM과 ROM의

• 기업의 구성원, 외부에 있는 이해관계자들과의 비전과 미션의 공유가 중요함.

• 열과 다른 종류의 에너지와의 상호변환 관계를 과학적으로 연구하는