java8

Book Review/Modern Java In Action

[모던 자바 인 액션] Chapter3. 람다 표현식

1. 람다란 무엇인가? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다의 특징 익명: 보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다. 함수: 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 전달: 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. 간결성: 익명 클래스처럼 많은 자질구레한 코드를 구현할 필요가 없다. 람다의 구성 // 기존 코드 Comparator byWeight = new Comparator() { @Override public int compare(Apple a1, Apple a2) { return a1.getWeight().compareTo(a2.getWe..

Book Review/Modern Java In Action

[모던 자바 인 액션] Chapter2. 동작 파라미터화 코드 전달하기

동적 파라미터화 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 리스트의 모든 요소에 대해서 '어떤 동작'을 수행할 수 있음 리스트 관련 작업을 끝낸 다음에 '어떤 다른 동작'을 수행할 수 있음 에러가 발생하면 '정해진 어떤 다른 동작'을 수행할 수 있음 1. 변화하는 요구사항에 대응하기 기존의 농장 재고목록 애플리케이션에 리스트에 녹색 사과만 필터링하는 기능을 추가한다고 가정하자. 사과 색을 정의하는 Color num이 존재한다고 가정하자. 첫 번째 시도: 녹색 사과 필터링 enum Color { RED, GREEN } public static List filterGreenApples(List inventory) { List result = new ArrayList(); // 사과 누..

Book Review/Modern Java In Action

[모던 자바 인 액션] Chapter1. 자바 8, 9, 10, 11: 무슨 일이 일어나고 있는가?

자바8은 간결한 코드, 멀티코어 프로세서의 쉬운 활용이라는 두 가지 요구사항을 기반으로 한다. 일단 자바 8에서 제공하는 새로운 기술이 어떤 것인지 확인하자. 스트림 API 메서드에 코드를 전달하는 기법 인터페이스의 디폴트 메서드 1. 자바 8의 3가지 프로그래밍 개념 스트림 처리 스트림이란? 한 번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임이다. 스트림 API의 핵심은 기존에는 한 번에 한 항목을 처리했지만 이제 자바 8에서는 우리가 하려는 작업을 고수준으로 추상화해서 일련의 스트림으로 만들어 처리할 수 있다는 것이다. 또한 입력 부분을 여러 CPU 코어에 쉽게 할당할 수 있다는 부가적인 이득도 얻을 수 있다. 스레드라는 복잡한 작업을 사용하지 않으면서도 공짜로 병렬성을 얻을 수 있다. 동작 ..

초보병일이
'java8' 태그의 글 목록