Java 16부터 컴파일 경고와 런타임 예외가 발생하는 값 기반 클래스의 인스턴스에 대한 동기화 시도를 보고합니다.

예를 들어 java.lang.Double에는 jdk.internal.ValueBased 어노테이션이 추가되어, 다음 코드에서 컴파일 타임 경고가 발생합니다.


Double d = 20.0;
synchronized (d) { ... } // javac 경고

2021.1의 새로운 기능