자바는 6개월에 한 번씩 새로운 버전을 출시한다. 그중 지속적으로 유지 보수를 지원하는 LTS(Long Term Support) 버전은 약 3년마다 출시되고 있다.
자바 LTS 버전 중 대표적인 두 버전(8, 11)의 특징을 살펴보자.
2014년에 출시되어 현재까지도 많이 사용되는 자바 버전이다.
인터페이스에 공통으로 사용할 수 있는 메서드를 정의할 수 있게 되었다.
+) 스태틱 메서드
함수형 인터페이스를 제공해 함수형 프로그래밍을 가능하게 해주었다.
람다 표현식으로 함수형 인터페이스를 사용해 함수형 프로그래밍이 가능해졌다.
병렬로 실행되는 환경을 보다 쉽게 다룰 수 있게 스트림을 제공한다.
null
이 될 수 있는 객체를 감싼 래퍼 클래스인 옵셔널 클래스를 제공한다.
불변 시간 정보를 갖는 LocalDate
, LocalDateTime
클래스를 제공한다.
아래 내용들은 좀 더 찾아봐야 할 것 같다.
2017년 출시되어 서서히 자바 8 버전을 대체하고 있다.
로컬 변수의 타입 추론을 통해 변수 타입을 명시하지 않고, var
키워드를 사용할 수 있다.
of()
메서드를 사용해 불변 컬렉션을 생성할 수 있게 되었다.
java.net.http
패키지에 자바 표준 HttpClient API를 제공한다.
JVM의 GC 타입이 8버전까지는 ParrelGC가 기본 제공되었지만 9버전부터는 G1 GC를 기본으로 제공한다.
String
, File
클래스에 사용 편의성을 높여주는 몇 가지 메소드들이 추가되었다.