2021-09-16

0916 java7, java8

# 31장 java7에 추가된 것들에는?

1.Fork/Join 메서드

- recursive하게 호출하고 싶을때 사용

- RecursiveTask, RecursiveAction이 있음. return값 있느냐 없느냐의 차이.

- WorkStealing개념을 이용하여 효율적으로 일을 처리할 수 있다.

2. I/O관련

- Paths : 기존 File보다 좀더 다양한 메소드를 제공. 오라클에서도 File보다 제발 이쪽을 사용해달라고 권장하는 중. 

-WatchService : 해당 디렉토리를 감시하며, 옵션으로 enum클래스를 넘겨서 해당 디렉토리에 이벤트가 발생했을때 WatchKey의 내용을 확인할 수 있다.

# 32장 java8에 추가된 것들은?

- Optional : null처리를 효율적으로 하기 위하여 사용. 단 Optional로 감싸는 비용자체가 발생할 수 있음(객체가 무거워짐) 컬렉션일 경우 null을 반환하지 말고 빈 컬렉션을 반환하거나. null대신 exception을 던진다는 선택지도 생각해볼 수 있음. 

- 인터페이스의 default method : 그런데 예기치않게 우연히 default메서드로 구현해놓은 메서드 시그니처가 겹치면? 충돌난다. 

- 시간관련 : LocalDateTime등의 클래스가 추가됨. 스레드 안전하며 훨씬 깔끔한 메서드를 제공하니 이쪽을 애용하자. 

- StringJoiner : 문자열 깔끔하게 붙여줌. 파이썬의 join메서드랑 비슷한듯

# 33장 java8에 변경된 것들은?

- Functional Interface -> 람다식으로 간단하게 구현가능.

- 자바 자체적으로 제공하는 Functional Interface들이 있음. 굳이 Functioanl Interface 를 만들지 않고도 이 인터페이스들을 활용하면 쉽다. 단, 메서드 명을 좀더 명확하게 할 필요성이 있다면 새로 인터페이스 만드는 것도 생각해봄직함.

- stream api : 컬렉션을 stream 으로 만들어서 (생성- 중간연산 n번 - 종단연산) 쉽게 처리가능. 단 , 과도하게 사용하면 오히려 가독성이 떨어질 수 있으니 적절하게 for문을 섞는등 고려하자. 

- 메서드 참조: 특정 클래스 혹은 인스턴스변수의 메서드 참조 / 생성자 참조 등 할수있다.

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...