지금까지 대부분의 자바 프로그램은 코어 중 하나만을 사용자바 8이 등장하기 이전에는 나머지 코어를 활용하기 위해 스레드를 사용하는 것이 좋음자바 5에서는 병렬실행 관련하여 스레드풀(thread pool), 병렬 실행 컬렉션(concurrent collection) 등이
동적 파라미터화 (Behavior parameterization)아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록나중에 실행될 메서드의 인수로 코드블록을 전달할 수 있다Ch1에서 언급한 바와 같이, 상위 Predicate을 두고 해당 Predicate을 상속하게 f
람다표현식 람다 익명 클래스처럼 이름이 없는 함수면서 메서드를 인수로 전달할 수 있는, 익명클래스와 비슷한 아이 메서드로 전달할 수 있는 익명 함수를 단순화한 것 람다는 메서드처럼 특정 클래스에 종속되지 않고, 오히려 functional interface 구현에 가까
스트림자바 8 API에 새로 추가된 기능, 선언형으로 컬렉션 데이터 처리 가능멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리.filter(), .sorted(), .map(), .collect(), .groupingBy(), .reduce(), .fin
스트림 활용 스트림을 활용하여 컬렉션을 사용하는 외부반복을 내부반복으로 바꿀 수 있다. 외부 반복: for(Dish d: menu) { 내부 반복: .filter(Dish::isVegeterian) 스트림 API가 지원하는 연산을 활용하면 -> 필터링, 슬라이
스트림으로 데이터 수집Collect(Collectors.toList())Collect(Collectors.counting())Collect(Collectors.summarizingInt())Collect(Collectors.joining(","))Collect(Coll