Java 17의 변경점
포스트
취소

Java 17의 변경점

학교 선배들과 이야기를 나누다가 Java 17에 대한 이야기가 나왔다. 아니 현업에서는 아직 Java 8이나 11을 많이 쓰는 거 아니었나? 벌써 17? 이라고 생각했는데, 조금 검색하다 보니 알아볼 가치가 있다는 생각이 들었다.

봉인 클래스

Java 15부터 프리뷰 형식으로 제공되다가 17에서 정식 기능으로 추가되었다.

1
2
3
4
5
6
7
8
9
package com.example.species;

public sealed class Animal
       Dog,
	   com.example.species.india.Monkey,
	   com.example.species.sabana.Leopard
{
    // ...
}

sealed 예약어를 통해 봉인 클래스로 만들고 상속받을 수 있는 클래스를 지정하는데 이때 상속받을 클래스는 봉인 클래스와 같은 패키지 내에 존재해야 하고 봉인 상태에 대해 sealed, non-sealed 또는 final을 명시해 주어야 한다.

새로운 LTS 버전

Java 17은 8, 11을 이어 출시되는 3번째 LTS(Long Term Support, 장기 지원) 버전으로 앞으로의 Java 생태계를 오랫동안 책임질 버전이라고 할 수 있다.

애플릿의 완전 제거

Java 9에서부터 업데이트가 중단되었던 애플릿 API가 완전히 삭제된다. 애플릿은 웹에서 애플리케이션을 돌리기 위한 용도로 과거에는 ActiveX와 함께 많이 사용되었으나 보안 등의 문제로 주요 브라우저에서도 지원이 이미 중단된 상태이다.

macOS 지원 관련

Apple Silicon 칩을 정식 지원하고 그래픽 렌더링이 Metal 기반으로 교체되면서 새로 나오는 Apple Silicon 기반 맥에서 큰 성능 향상을 기대할 수 있다.

향상된 의사난수 생성기 추가

더욱 예측하기 어려운 난수를 생성할 수 있다.

This post is licensed under CC BY 4.0 by the author.

자바의 @Transactional 어노테이션

Log4j 취약점 Log4Shell과 후속 취약점들...

Comments powered by Disqus.