Java의 New Input/Output을 사용해보며 대규모 처리에서 중요한 개념이라고 생각되어 이를 소개합니다. 1. NIO는 어떤것이고 왜 사용하는가NIO가 등장하기 이전에 사용된던 방식은 Blocking I/O입니다.글에서는 편하게 과거 방식의 Blocking I/O 를 BIO 라고 부르겠습니다. BIO에서는 클라이언트당 하나의 스레드를 할당해야 하며, 클라이언트가 많아질 경우 OOM(Out Of Memory)이 발생하거나 과도한 context switching 등의 문제가 발생합니다. 예를 들어, 하나의 스레드를 생성하는 데 약 1MB의 메모리가 필요하다고 가정하면,10,000명의 클라이언트 요청을 동시에 처리할 경우 10GB의 메모리가 필요합니다. 이를 해결하기 위해 2002년 Sun Micro..