스트림(Stream) 에서 기본형이 왜 취약할까?
스트림 API 는 데이터가 객체라는 것을 기본 전제로 설계되어있다.
문자열이나 클래스 타입은 객체이지만 기본형 데이터인 Int, long, double 등의 값을 처리하게 되면
기술적으로는 문제가 없으나 이 데이터는 객체가 아니기 때문에 Stream 내부적으로 오토박싱과 언박싱이 빈번하게 발생한다. 이는 처리 시간의 급격한 증가를 가져온다.
- 스트림 API 에서는 기본형으로 많이 사용하는 Int, long, double 을 위해 별도의 인터페이스를 제공한다.
- DoubleStream
- IntStream
- LongStream
www.baeldung.com/java-8-primitive-streams
반응형
'java' 카테고리의 다른 글
[JAVA]Garbage Collection 실행 과정 (0) | 2021.08.07 |
---|---|
[자바 병렬 처리 - 포크/ 조인 프레임 워크] (0) | 2021.04.17 |
[JAVA 개념] 추상클래스와 인터페이스의 차이점 ( + 상속과 구현) (0) | 2021.04.11 |
[Effective java] Item 7 - 종료자(finalize) 사용을 피하라 (0) | 2021.01.30 |
[Effective Java] Item 6 - 유효기간이 지난 객체 참조는 폐기하라. (0) | 2021.01.30 |