본문 바로가기

공부/컴퓨터

[NIO-01] NIO 란 무엇인가?

반응형
==========================================================================
이 글은 이론적으로 아는 것을 직접 설명 및 구현을 해 봄으로써 제 자신의
실력을 다지기 위한 글 입니다. 물론 정확한 이론. 용어도 아님을 밝힙니다.
이 글을 직.간접적으로 사용함으로써 발생되는 모든 불이익을 책임지지 않습니다.

문의점, 오류, 잘못된 용어들은 저의 홈페이지 Work 게시판을 이용하여 주시고
이상의 사항에 대하여는 최대한 덧글 ( 코멘트 ) 를 이용해 주십시오.

본 글은 저의 홈페이지인 http://ggaman.com 과
싸이월드의 (JPSC) JAVA program study club 에서 보실수 있습니다.

homepage : http://ggaman.com e-mail n MSN : chan at ggaman.com

20031202 - Chan
==========================================================================


안녕하세요.
찬 입니다.

이런글을 적는게 너무 오랜만이라 참 어색하네요 ^^

오늘부터 알아 볼것은 NIO 입니다.
( 몇회에 나누어서 이야기 해 볼 생각입니다. - 게을러서 가능할런지 -_-;; )


우선 jdk 이야기 부터 해 보아야 할것 같습니다.

java2(jdk1.2)가 나오면서 부터 많은것들이 바뀌었고, 또 생겨났습니다.

그 중에서 jdk1.4에서 추가 된 부분들은 많이 있는데 (NIO, JAVA2D,Java Web Start 등)
제가 관심이 있었던 NIO는 대충 다음과 같은 내용이 있었습니다.

1. NIO - Buffer
2. NIO - Channel
3. NIO - selector

물론 NIO에서도 아주 많은 다른 내용이 있지만 제가 관심이 없는 -_-;;;
내용이기 때문에 우선 저것만을 가지고 해 보겠습니다.

여기서 잠깐!
자꾸 NIO , NIO 하는데 NIO가 무엇인지 알아 보아야 할것 같습니다.
NIO 순 콩글리쉬로 읽어 보면 "니오"가 됩니다.
바로 매트릭스에서 나오는 "Neo -_- 니오"가 아닐까요? -_-;
죄송합니다.

자 다시.
java는 이미 기존에 입출력을 위한 I/O가 존재합니다. ( java.io.* )
그러나 1.4에서 추가 된 새로운 기법(? 채널이라던지 - 나중에 설명됨 )이 있는데
이름을 어떻게 지을까 하다가... 그냥 새로운 I/O 니깐 New I/O 라고 하자. 그래서
NIO 가 된것이 아닌가 하는 의심을 해 봅니다.
( 전 처음에는 non-blocking I/O( 역시 나중에 설명됨 ) 인줄 알고 있었습니다. )


기본적인 I/O의 방식과 또 다른 방식으로 이루어지는 I/O 입니다.
기존의 방식은 blocking 되는 반면에 NIO를 이용하면
non-Blocking 으로 일을 처리할수 있게 되는 장점이 있습니다.


흠.. 다른것들은 하나하나 글을 쓰면서 정리하도록 하겠습니다.


그럼이만. -_-
( 너무 짧나요? )
즐거운 하루 되세요~ ^^;
반응형