[JAVA] JAVA 12 주요 변경점
Java 12는 2019년 3월에 출시되었습니다. 이번 버전은 단기 지원 릴리스로, 다양한 새로운 기능과 개선사항을 포함하고 있습니다. 이번 포스트에서는 Java 12의 7가지 주요 변경사항을 자세히 살펴보겠습니다.
1. 스위치 표현식 (Switch Expressions)
Java 12에서는 스위치 표현식이 프리뷰 기능으로 도입되었습니다. 이는 스위치 문을 더 간결하고 표현력 있게 만들어 줍니다.
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};
2. 기본 CDS 아카이브 (Default CDS Archives)
기본 클래스 데이터 공유(CDS) 아카이브 기능이 도입되어, 애플리케이션 시작 시간을 줄이고 메모리 사용량을 최적화할 수 있습니다.
3. Shenandoah 가비지 컬렉터
Shenandoah는 짧은 GC 중단 시간을 목표로 하는 새로운 가비지 컬렉터입니다. 이는 대규모 메모리 애플리케이션에 적합합니다.
4. 마이크로벤치마크 스위트 (Microbenchmark Suite)
JDK 소스 코드에 약 100개의 마이크로벤치마크 테스트가 추가되었습니다. 이를 통해 지속적인 성능 테스트가 가능해졌습니다.
5. JVM Constants API
새로운 JVM Constants API가 도입되어, 상수 풀 항목을 더 잘 처리하고 조작할 수 있게 되었습니다.
6. String 클래스의 새로운 메서드
java.lang.String
클래스에 indent()
, transform()
등의 새로운 메서드가 추가되었습니다. 이는 문자열 조작을 더 유연하게 합니다.
String result = "Hello\nWorld".indent(4);
7. Raw String Literals (Preview)
Raw String Literals는 여러 줄의 문자열을 더 쉽게 작성할 수 있도록 도와주는 기능으로, Java 12에서는 프리뷰로 제공되었습니다.
결론
Java 12는 단기 지원 버전임에도 불구하고 다양한 혁신적인 기능과 성능 개선을 도입했습니다. 특히 스위치 표현식과 Shenandoah 가비지 컬렉터의 도입은 개발자들의 생산성을 크게 향상시킬 것으로 기대됩니다.
이러한 변경사항들은 Java 개발자들에게 더 나은 도구와 기능을 제공하여 개발 경험을 개선하고 있습니다. Java 12의 새로운 기능들을 실험해보고, 여러분의 프로젝트에 적용해 보시기 바랍니다!
Java의 지속적인 발전은 개발자 커뮤니티와 기업들에게 큰 혜택을 제공하고 있으며, 앞으로의 버전에서도 더 많은 혁신적인 기능들이 도입될 것으로 기대됩니다. 특히 프리뷰 기능들이 어떻게 발전하고 정식 기능으로 채택될지 주목해볼 만합니다.