OutputStream
-
출력 스트림에 대한 최상위 추상 클래스
-
write()
-
flush()
- 스트림 버퍼가 가득 차지 않아도 강제로 스트림 버퍼에 담긴 데이터를 출력한다.
- 출력 후 스트림 버퍼를 비운다.
- stream 은 동기(synchronous)로 동작하기 때문에 버퍼가 찰 때까지 기다리면 데드락(deadlock) 상태가 되기 때문에 flush 로 해제한다.
ByteArrayOutputStream
은 버퍼가 아닌 메모리를 사용하기 때문에 flush()
를 적용해도 아무런 동작을 하지 않는다.
-
close()
- 장시간 스트림을 닫지 않으면 파일, 포트 등 다양한 리소스에서 누수(leak) 가 발생한다.
메모리 누수(memory leak)