Stream(2)
-
Java Parallel Stream(병렬 스트림)
Parallel Stream(병렬 스트림) 회사 코드 리뷰를 하던 중 팀원이 parallel stream을 사용하신 것을 봤습니다. 문서를 보니 여러 스레드를 병렬로 실행해 성능이 높아지는 원리라고 인지했습니다. 그리고 나서 foreach문에 적용해봤는데 성능이 약 5배 가까이 좋아지는 것을 보고 동작 원리를 자세히 알아보았습니다. 본 글의 주된 내용은 참고자료 링크에 표기된 oracle 사 Java Magazine을 참고했습니다. Stream의 두 종류 sequential stream : 싱글 스레드를 사용해 element를 순차적으로 처리. 싱글 코어 CPU 사용. parallel stream : stream을 여러 substream으로 나눠 처리. 멀티 스레드를 사용해 stream 파이프 라인을 실..
2023.05.28 -
[Java] Java Stream(스트림)
Java Stream(스트림) 참고영상: Java 8 Streams Tutorial 1) Stream? 스트림은 Collections, Lists, Sets, ints, longs, doubles, arrays, files 등에서 사용이 가능합니다. 스트림 기능은 중개자(intermediate)나 종결자(terminal)로 나뉩니다. 2) 중개자 Stream 스트림 중개자 연산은 복수 사용이 가능합니다. 데이터가 클 경우 필요한 데이터로만 가공해줄 수 있습니다. 주로 쓰는 연산은 filter(), map(), sorted(), findFirst()가 있습니다. 3) 종결자 Stream 스트림 종결자 연산은 단일 사용만 가능합니다. 예를 들어 반복해서 값을 리턴해주는 forEach처럼요. collect는 ..
2021.09.03