1. IO - 입출력 방식 : 스트림 - 버퍼 방식 : None Buffer (보조 스트림 BufferdInputStream, BufferdOutputStream 사용) - 비동기 방식 : 지원 안함 - 블로킹 / Non블로킹 방식 : 블로킹 방식만 지원 - 대용량 처리에 효율적 2. NIO - 입출력 방식 : 채널 방식 - 버퍼 방식 : Buffer - 비동기 방식 : 지원 - 블로킹 / Non블로킹 방식 : 블로킹 / Non블로킹 방식 모두 지원 - 대용량 처리에 비효율적 - 연결 클라이언트가 많고 입출력 처리 작업이 오래 걸리지 않는 작업에 적절하다.