Java 네트워크 I/O 모델 비교: BIO부터 Netty까지

1. BIO (Blocking I/O) 가장 기본적인 네트워크 I/O 모델로, 모든 I/O 작업이 블로킹 방식으로 동작합니다. 서버는 클라이언트 연결을 기다리는 accept() 호출과 데이터 읽기/쓰기 과정에서 모두 스레드가 멈춥니다. 서버 예제 package network.bio; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.So ...

6월 20일 18:59에 게시됨

리눅스 I/O 모델 5가지 심층 분석

1. 핵심 개념 이해 사용자 공간과 커널 공간 현대 운영체제는 가상 메모리를 사용합니다. 32비트 시스템 기준으로 4GB(2^32)의 가상 주소 공간이 존재합니다. 운영체제의 핵심인 커널은 보호된 메모리 영역에 접근 가능하며, 하드웨어 장치에 대한 모든 권한을 가집니다. 보안을 위해 사용자 프로세스가 커널에 직접 접근하지 못하도록 가상 공간을 두 부분으로 나눕니 ...

5월 30일 03:42에 게시됨