JavaOne 2017 요약 - Serverless, Kubernetes, Java 릴리즈 주기 변경...
TL; DR:
* JavaEE를 이클립스 재단에 기부
* 자가 치유, 튜닝, 자가 운전 가능한 RDB인 18c 발표. AWS RDS를 겨냥한 것으로 클라우드 호스팅 비용을 절반으로 줄일수 있다고 자신한다.
* AWS 람다 시장을 겨냥한 자바함수 서버리스 구현체인 Project FN 발표
* kubernetes 프로젝트에 많은 자원 투자
* OpenJDK와 Oracle JDK에 동일한 구현을 사용하며 OpenJDK는 GNU 라이선스와 호환. 아마도 Jigsaw 모듈이 JDK9에 포함되었기 때문에 앞으로 독자적인 Oracle 모듈을 발표하지 않을까..
* Java는 앞으로 6개월마다 릴리즈되며, 2018년 3월에 Java9 릴리즈 18 버전을 발표하고, 2018년 9월에 Java9 릴리즈 19 버전 발표
릴리즈18 버전에서는 JEP 286 : 로컬 변수 타입 추론 기능 추가
var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream(); // infers Stream<String>릴리즈19 버전에서는 JEP 305 : 패턴 매칭 추가 예정
String formatted;
switch (obj) {
case Integer i: formatted = String.format("int %d", i); break;
case Byte b: formatted = String.format("byte %d", b); break;
case Long l: formatted = String.format("long %d", l); break;
case Double d: formatted = String.format(“double %f", d); break;
case String s: formatted = String.format("String %s", s); break
default: formatted = obj.toString();
}