Java10
업데이트:
주요 변경사항
JAVA 10
- 자세한 내용은 오라클 공식 변경사항1을 참조하기 바란다.
Local-variable type inference
명시적으로 언급하던 타입을 추론을 통해 가능하게 개선되었다.
public class TypeInference {
public static void main(String[] args) {
// Java6
Map<Integer, String> map = new HashMap<Integer, String>();
// Java7
Map<Integer, String> map = new HashMap<>();
// Java10
var map = new HashMap<Integer, String>();
}
}
Optional.orElseThrow() Method
Optional 클래스에 get 메서드를 활용하는 orElseThrow 메서드가 추가되었다.
APIs for Creating Unmodifiable Collections
Collectors 클래스에 추가 메서드(toUnmodifiableList, toUnmodifiableSet, toUnmodifiableMap)를 활용하여 수정할 수 없는 컬랙션에서 데이터를 수집할 수 있다.
Parallel Full GC for G1
G1은 단일 스레드로 Mark-Sweep-Compact알고리즘을 사용하였지만, 전체 GC를 병렬로 만들어 G1 최악의 지연 시간을 개선하였다.
Root Certificates
JDK에서 기본 Certification Authority(CA)인증서를 제공합니다.
Time-Based Release Versioning
OpenJDK 커뮤니티는 Java 플랫폼의 주요 릴리스가 6개월마다 발생 하는 새로운 시간 기반 릴리스 모델2을 채택했습니다. JEP2233에서 도입 한 버전 번호 체계를 다시 캐스팅하여 새로운 기능을 포함 할 수있는 기능 릴리스를 정의하는 시간 기반 릴리스 모델과 버그만 수정하는 업데이트 릴리스에 더 적합하도록합니다.4
$FEATURE.$INTERIM.$UPDATE.$PATCH
- $FEATURE : 릴리스 내용에 관계없이 모든 기능 릴리스에 대해 증가하는 기능 릴리스 카운터dlek.
- $INTERIM : 호환되는 버그 수정 및 개선 사항을 포함하지만 호환되지 않는 변경 사항, 기능 제거 사항 및 표준 API 변경 사항이없는 비 기능 릴리스에 대해 증가하는 임시 릴리스 카운터이다.
- $UPDATE : 보안 문제, 회귀 및 최신 기능의 버그를 수정하는 호환 가능한 업데이트 릴리스에 대해 증가하는 카운터이다.
- $PATCH : 중요한 문제를 해결하기 위해 카운터이다.
Reference
※ Sample Code는 여기에서 확인 가능합니다.
댓글남기기