IO(Blocking IO)
Last updated
Last updated
Java IO 패키지는Java에서 입출력을 다루기 위한 패키지로 하나의 Thread가 IO 작업에 의존적이기 때문에 하나의 Thread로 하나의 IO를 처리하는 Blocking 방식 구현으로 InputStream, OutputStream, Reader, Writer 클래스를 사용합니다.
바이트 단위 : IputStream, OutputStream - 이미지, 비디오 및 직렬화 된 객체와 같은 이진 데이터 - InputStream.read() : 바이트 스트림의 원시 내용에 해당하는 0에서 255 사이의 바이트 값을 반환
문자 단위 : Reader, Writer - 문자 스트림이므로 문자 데이터 - Reader.read() : 0에서 65357 사이의 문자 값을 반환
Java NIO와 달리 기존 IO 패키지는 JVM 내부 버퍼로 복사 시 발생하는 CPU 연산, GC 관리, IO 요청에 대한 스레드 블록이 발생하게 되는 현상 때문에 효율이 좋지 못한 점이 있습니다
InputStream: 바이트 단위로 입력을 처리하는 클래스입니다.
OutputStream: 바이트 단위로 출력을 처리하는 클래스입니다.
Reader: 문자 단위로 입력을 처리하는 클래스입니다.
Writer: 문자 단위로 출력을 처리하는 클래스입니다.