노드같은 EVENT 기반 플렛폼의 꽃은 실시간 입력 처리 출력이라고 볼수있다.
스트림은 메모리 사용량과 시간 측면에서 버퍼보다 더 강한 모습을 보인다. 특히 결합성의 면에서는 버퍼랑 비교할수없다.
Stream을 알기 위해서는 Buffer을 알고 가야한다.
Buffer란 binary data를 다루기 위해 Temporary Storage를 제공한다.
이 공간에서 많은 조작을 할 수 있다. 버퍼 객체는 생성 후 수정이 불가능하다.
그러므로 생성시 조건들을 잘 맞춰야합니다. ( 사이즈 )
사이즈가 10메가바이트라면(temp storage) 10이 채워지면FULL 전송하는 방식이다.
이를 통해 파일 읽기/쓰기, 네트워크 통신, 이미지 처리 등 다양한 작업을 처리할 수 있습니다.
단점:사이즈를 정할 수 있지만 max사이즈가 있다. 이 max사이즈 만큼 메모리가 소모된다.
그럼 스트림이란 무엇일까.
버퍼는 스트레이트라면 스트림은 잽이다. 큰 데이터를 쪼개서 버퍼로 계속 보내고 버퍼는 공간이 채워지면서 전송을 이어간다. 그것을 계속 반복하는 것이다.
Process large amounts of data with minimal memory usage. 한번에 모아서 쏘는게 아니라서 메모리 사용량이 적다.