로컬 변수 선언을 할 때 특정한 데이터 타입을 지정하지 않아도 된다. 자바 스크립트와 마찬가지로 var 키워드를 이용해서 변수 선언을 하고 뒤에 할당한 데이터의 값에 따라 자바 컴파일러가 형식을 추론해서 적용한다. 단 var를 이용할 경우 반드시 해당 문장에서 객체 생성까지 해야한다. 예를들어 var myList = new ArrayList< String >();
G1 GC 개선
자바 10은 외부적인 기능보다는 내부적인 변화에 중점을 두었다. 대표적인 것이 자바 9의 안정화와 G1 가비지 컬렉터의 성능향상이다.
자바 11
HTTP 클라이언트
자바 9의 인큐베이팅 형태로 넣었던 HTTP 클라이언트 API를 정식으로 포함했다. 이 API는 기존에 제공되는 URLConnection 기반의 HTTP 개발보다 개선된 기능과 명명 규칙을 제공한다. 특히 HTTP 2.0을 지원하며 웹 소캣 기능도 포함되어 있다.
컬렉션 객체를 배열로 변경하는 기능
컬렉션 인터페이스에 toArray 메서드가 추가되었다. 이 메서드를 통해서 컬렉션 객체를 배열로 변환하면 별도의 반복문을 작성하지 않고 메서드 호출만으로 처리할 수 있다.
var 키워드 지원 확대
자바 10에서 var 키워드로 변수를 선언하면 타입 추론으로 객체를 생성할 수 있는 기능이 추가되었다. 자바 11에서는 여기에 더해 람다 표현식에서도 var를 사용해서 변수를 선언할 수 있게 했다.
기존에 (String x) -> System.out.println(x)로 하던 것을
(var x) -> System.out.println(x) 처럼 사용할 수 있다.
String 클래스 기능 추가
문자열을 표현하는 String 클래스에 편리하게 사용할 수 있는 메서드를 추가했다. 블랭크를 판단하는 isBlank, 여러 줄로 되어 있는 문자열을 스트림 API 객체로 생성할 수 있는 lines, 공백을 지우기 위한 stri, stripLeading, stringTrailing등을 추가했다.