← 질문 목록
#256깊이 0
스트림의 지연 연산은 왜 필요한가?
불필요한 계산을 최소화하여 성능을 최적화하기 때문이다. 모든 데이터를 처리하지 않고 필요한 시점에만 연산을 수행한다.
- 데이터 소스
그다음은 중간 연산입니다. 파이프라인만 구성한다
중간 연산그다음은 터미널 연산입니다. 호출할 때 처리를 시작한다
터미널 연산
중간 연산은 결과값을 즉시 계산하지 않고, 파이프라인을 구성하는 일종의 설계도만 만든다. 필터링이나 매핑 같은 작업이 누적된다.
터미널 연산이 호출되어야만 데이터가 흐르기 시작한다. 스트림은 이어 붙일 수 있는 연산을 묶어 한 번에 흘려보낸다. 다만 정렬이나 중복 제거처럼 앞을 다 봐야 하는 연산이 끼면 거기서 한 번 고인다.
만약 즉시 연산했다면 중간 단계마다 임시 컬렉션을 생성해야 한다. 이는 메모리 낭비와 CPU 오버헤드로 이어진다.