메서드나 메서드 참도를 인수로 전달하는 것이 가능해졌다
스트림 API의 파이프라인은 연산을 게으른 형식으로 처리하여 큰 데이터 집합일수록 데이터 처리 방식이 효율적
parallel 메서드를 사용해 병렬처리 역시 가능
Future을 이용하면 여러 작업이 동시에 실행될 수 있도록 다른 스레드나 코어로 작업을 할당할 수 있다
계산을 수행하면서 값이 없을 때 에러를 발생시킬 수 있는 null대신 정해진 데이터 형식을 제공할 수 있다
리액티브 스트림과 리액티브 당김 기반 억압력 프로토콜을 표준화 했는데, Flow API는 호환성을 높일 수 있도록 라이브러리가 구현할 수 있는 네 개의 인터페이스 Publisher, Subscriber, Subscription, Processor을 포함
인터페이스 설계자는 메서드의 기본 구현을 제공하는 것이 가능
인터페이스에 변경이 생겨도 사용자는 신경을 쓸 필요가 없어졌다
자바 9는 다른 릴리스에 비해 과거 호환성을 해침
자바 모듈 시스템이 제공하는 장점
형식이 생략되면 컴파일러가 생량된 형식을 추론
형식 추론 장점
지역변수형 추론
지역 변수의 형식을 var 키워드로 대체하는 것이 가능
var MyMap = new HashMap<String, List<String>>();
이후 버전의 자바에서 추가되면 좋을 것 같은 부분
선언 사이트 변종을 이용하면 제네릭 클래스를 정의할 때 프로그래머가 변종을 지정할 수 있다
복잡한 switch, if-else문을 간결하게 하는 것이 가능
가비지 컬랙션 때문에 제네릭 형식의 파라미터로 객체만 사용할 수 있게 되었다
이는 비용을 수반한다
짧은 개발 주기 덕에 자바는 적당한 속도로 진화할 수 있고 개발에 유용하고 적절한 언어가 될 수 있을 것이다