본문 바로가기

IT/JAVA

(14)
다중 버전 jdk 설정 Bash Shell # ~/.bash_profile # 해당 부분 변경시 기본 버전 변경 java::init 1.8 function java::init() { local java_version java_version=$1 export JAVA_HOME=$(/usr/libexec/java_home -v $java_version) }
java8 병렬 스트림 효율적으로 사용하는 방법 1. 병렬 스트림이란 ?병렬 스트림이란 스트림에 각 요소를 청크(Chunk)로 분할한 스트림이다.따라서 병렬 스트림을 이용해 멀티코어 프로세스가 각각의 청크를 처리하도록 할당할 수 있다. 1.1 병렬 스트림 속도차이 확인하기 1.1.1 첫번째 시도 무한스트림 생성이 가능하다는 성질을 이용하여숫자 n 개를 받아 1부터 n 까지의 모든 숫자를 합계로 반환하는 메서드를 구현해보자 일반 스트림 연산 public static long sequentialSum(long n) { return Stream.iterate(1L, i -> i + 1).limit(n).reduce(0L, Long::sum); } 전통적인 자바 반복문을 통한 연산 public static long iterativeSum(long n) { l..
Java Stream & Reduce VS mapToInt Performance 비교 List numList = new ArrayList(); for(int i=0; i i).reduce(0, Integer::sum); long end1 = System.currentTimeMillis(); long start2= System.currentTimeMillis(); numList.stream().mapToInt(i -> i).sum(); long end2 = System.currentTimeMillis(); System.out.println("first : " + (end1 - start1)); System.out.println("second : " + (end2 - start2)); 결과first : 1489second : 40 이렇게 많은 시간이 차이나는 이유는 reduce 연산중 내부에..
JAVA 8 스트림 연산자 정리 1. 스트림 연산과정에 필요한 3가지1) 질의 대상이 되는 소스(컬렉션)2) 파이프 라인에 해당하는 중간 연산자3) 파이프 라인을 종료하고 결과를 출력하는 최종 연산자 중간 연산자 연산 반환값 연산 인수 함수 디스크립터 filterStream PredicateT -> boolean mapStreamFunction T -> R limitStream sorted StreamComparator (T, T) -> int distinct Stream 최종 연산자 연산 비고 forEach스트림에 각 요소를 람다를 통해 특정 작업을 실행한다. count스트림의 요소 개수를 반환한다. (long) collect 스트림을 컬렉션 형태로 반환한다.