Java

JDK 10 GA (General Availability)

sstdio.h·2018년 4월 2일·조회 6,327

1. 소식

2018년 3월 20일, JDK 10이 GA(General Availability)로 공개되었다.

JDK 10은 Java의 시간 기반 릴리스 모델이 본격적으로 적용된 초기 릴리스로, 짧은 주기로 기능을 제공하는 흐름을 보여 준 버전이다. 가장 눈에 띄는 변화는 지역 변수 타입 추론(var)이며, 그 외에도 G1의 Parallel Full GC, AppCDS, 루트 인증서 포함 등 런타임과 배포 측면의 개선이 함께 포함되었다.


2. JEP 2.0 Proposal

JDK 10에 포함된 주요 JEP 목록은 다음과 같다.

  • 286: Local-Variable Type Inference
  • 296: Consolidate the JDK Forest into a Single Repository
  • 304: Garbage-Collector Interface
  • 307: Parallel Full GC for G1
  • 310: Application Class-Data Sharing
  • 312: Thread-Local Handshakes
  • 313: Remove the Native-Header Generation Tool (javah)
  • 314: Additional Unicode Language-Tag Extensions
  • 316: Heap Allocation on Alternative Memory Devices
  • 317: Experimental Java-Based JIT Compiler
  • 319: Root Certificates
  • 322: Time-Based Release Versioning

상세 내용은 OpenJDK의 JDK 10 프로젝트 페이지에서 확인할 수 있다.

(http://openjdk.java.net/projects/jdk/10/)

Local-Variable Type Inference 예시

JEP 286으로 추가된 var는 지역 변수 선언에서 컴파일러가 초기화 식을 기준으로 타입을 추론하게 해 준다. 다만 동적 타입이 되는 것은 아니며, 컴파일 시점에 타입이 결정되는 정적 타입 기능이다.

var message = "Hello, JDK 10";
var numbers = java.util.List.of(1, 2, 3);

System.out.println(message);
System.out.println(numbers);

간단히 확인하려면 JDK 10 이상이 설치된 환경에서 위 코드를 포함한 클래스를 컴파일하고 실행하면 된다. 코드의 의미가 불명확해지는 경우에는 기존처럼 명시적인 타입을 사용하는 편이 낫다.


3. 다운로드

오라클: http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.