오라클, Java 14 정식 발표
(openjdk.java.net)나온 지 며칠 되었는데, 정작 여기에는 안 올라왔길래 지금이라도 올립니다. Oracle이 Java 14를 정식 발표했습니다. JDK 14의 몇몇 변경사항은 다음과 같습니다.
- switch 표현식( https://openjdk.java.net/jeps/361 )이 정식 문법으로 바뀌었습니다.
- record 클래스( https://news.hada.io/topic?id=1323 )가 프리뷰로 추가됩니다.
- NullPointerException이 발생했을 때의 오류 메시지가 좀 더 자세하게 바뀝니다. 예를 들면 지금까지는 a.b.c = 1; 이라는 코드를 썼다가 NPE가 터졌을 때 a와 b 중 어디가 Null인지 알아내려면 디버거로 찍어보거나 해야 했지만, 이제부터는 오류 메시지에 해당 내용이 바로 명시됩니다.
- NVRAM(비휘발성 메모리)를 위한 새로운 파일 매핑 바이트버퍼(Non-Volatile Mapped Byte Buffers)가 생겼습니다. 현재 이 기능은 리눅스 및 AMD64 또는 AArch64 아키텍쳐에서만 작동합니다.
- JFR 이벤트 스트리밍 기능이 생겼습니다. JFR(JDK Flight Recorder)란 HotSpot VM의 상태 데이터 수집 기능인데, 지금까지는 레코딩이 끝나야 분석이 가능했기 때문에 프로파일링 정도에만 쓸 수 있었습니다. 이를 실시간 측정에도 쓸 수 있는 API를 제공하는 것입니다.
- CMS 가비지 컬렉터가 없어지고, 대신 Windows와 macOS에 ZGC가 실험적으로 추가됩니다.
- 솔라리스 및 SPARC 플랫폼에 대한 지원이 중단됩니다.
- 기타 등등…
참고로 다음 버전인 JDK 15는 오는 9월에 출시될 예정입니다. LTS 버전인 Java 17은 내년(2021년) 9월경 출시될 예정입니다.