Modern Java in Action - Ch.1

참고: 책 - Modern Java in Action

Java 8

이전

Java 8 설계의 밑바탕을 이루는 세 가지 프로그래밍 개념

빅데이터 🌬 프로그래밍 언어 생태계

1. 스트림 처리

  • 스트림: 한 번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임
    • 입력 스트림에서 데이터를 한 개씩 읽고 -> 출력 스트림으로 한 개씩 기록

20210808-041609

2. 동작 파라미터화로 메서드에 코드 전달하기

20210808-042339

3. 병렬성과 공유 가변 데이터

자바 함수, 메서드와 람다를 일급 시민으로

File[] hiddenFiles = new File(".").listFiles(new FileFilter() {
  public boolean accept(File file) {
    return file.isHidden();
  }
});

//메서드 참조 활용
File[] hiddenFiles = new File(".").listFiles(File::isHidden);

스트림

멀티 스레딩의 어려움

디폴트 메서드와 자바 모듈

// ex. sort
default void sort(Comparator<? super E> c) {
  Collections.sort(this, c);
}

함수형 프로그래밍에서 가져온 다른 유용한 아이디어

Optional

(구조적 structural) 패턴 매칭 기법