Java 버전별 변화 중 중요한 부분만 기록했습니다. 더 자세한건 참고의 링크를 봐주세요.
- 함수형 프로그래밍 패러다임 적용
- Lambda expression
- Stream
- Functional interface
- Optional
- interface 에서 default method 사용 가능
- 새로운 Date and Time API
- JVM 개선
- JVM 에 의해 크기가 결정되던 Permanent Heap 삭제
- OS 가 자동 조정하는 Native 메모리 영역인 Metaspace 추가
Default GC
Serial GC -> Parallel GC (멀티 스레드 방식)
- module
- interface 에서 private method 사용 가능
- Collection, Stream, Optional API 사용법 개선
- ex) Immutable collection, Stream.ofNullable(), Optional.orElseGet()
Default GC
Parallel GC -> G1GC (멀티 프로세서 환경에 적합)
- var (지역 변수 타입 추론)
- HTTP Client API
- HTTP/2 지원
- RestTemplate 의 상위 호환
- String API 사용법 개선
- OracleJDK 독점 기능이 OpenJDK 에 포함