SIMPOLOR
단순하고 색있게
Java 15 주요 특징 및 개선 사항: 텍스트 블록, Sealed Classes, ZGC 등
단순색
·
2024년 06월 11일
Java
자바 15(Java SE 15)는 2020년 9월에 릴리스되었으며, 여러 새로운 기능과 개선 사항을 포함하고 있습니다. ## 텍스트 블록 (Standard) - 자바 13과 14에서 프리뷰 기능으로 제공되었던 텍스트 블록이 이제 표준 기능으로 도입되었습니다. - 여러 줄의 문자열을 쉽게 작성할 수 있습니다. ``` String textBlock = """ This is a text block. It can span multiple lines. Indentation is preserved. """; ``` ## Sealed Classes (Preview) - 클래스와 인터페이스에 대해 상속을 제한할 수 있는 기능입니다. - `sealed` 키워드를 사용하여 상속을 허용할 서브클래스를 명시합니다. ``` public sealed class Shape permits Circle, Square { // ... } public final class Circle extends Shape { // ... } public final class Square extends Shape { // ... } ``` ## Pattern Matching for instanceof (Second Preview) `instanceof` 연산자에 패턴 매칭 기능이 추가되었습니다. 이를 통해 타입 캐스팅을 더 간결하게 작성할 수 있습니다. ``` if (obj instanceof String s) { System.out.println(s.toLowerCase()); } ``` ## Records (Second Preview) 불변 데이터 객체를 간결하게 표현할 수 있는 레코드 타입이 계속해서 개선되었습니다. ``` public record Point(int x, int y) {} Point point = new Point(1, 2); System.out.println(point.x()); // 1 System.out.println(point.y()); // 2 ``` ## Hidden Classes 런타임에 동적으로 정의되고 바이트코드에 의해 사용되지만, 바이트코드에 의해 직접 참조되지 않는 클래스를 정의할 수 있는 기능입니다. 주로 프레임워크에서 사용됩니다. ``` MethodHandles.Lookup lookup = MethodHandles.lookup(); Class<?> hiddenClass = lookup.defineHiddenClass( bytes, true, MethodHandles.Lookup.ClassOption.NESTMATE ).lookupClass(); ``` ## ZGC: Uncommit Unused Memory Z Garbage Collector (ZGC)가 사용되지 않는 메모리를 운영체제에 반환할 수 있는 기능이 추가되었습니다. ``` java -XX:+UseZGC -Xmx10g MyApp ``` ## Shenandoah: Low-Pause-Time Garbage Collector (Production) Shenandoah 가비지 컬렉터가 실험 기능에서 정식 기능으로 전환되었습니다. ``` java -XX:+UseShenandoahGC MyApp ``` ## Edwards-Curve Digital Signature Algorithm (EdDSA) 새로운 디지털 서명 알고리즘 EdDSA가 도입되었습니다. ``` Signature sig = Signature.getInstance("EdDSA"); ```
연관 포스트
Java 6 주요 특징 및 개선 사항: 성능 향상, 웹 서비스, 스크립팅 언어 지원 등
Java 7 주요 특징 및 개선 사항: 언어 개선, 새로운 IO API, 병렬 프로그래밍 등
Java 8 주요 특징 및 개선 사항: Lambda Expressions, Stream API, 날짜와 시간 API 등
Java 9 주요 특징 및 개선 사항: 모듈 시스템, JShell, Stream API 등
Java 10 주요 특징 및 개선 사항: Local Variable Type Inference, G1 GC 개선 등
Java 11 주요 특징 및 개선 사항: String 메서드, HTTP 클라이언트, ZGC 등
Java 12 주요 특징 및 개선 사항: Switch Expressions, Shenandoah GC 등
Java 13 주요 특징 및 개선 사항: 텍스트 블록, Switch Expressions, ZGC 등
Java 14 주요 특징 및 개선 사항: Pattern Matching, Records, Switch Expressions 등
Java 15 주요 특징 및 개선 사항: 텍스트 블록, Sealed Classes, ZGC 등
Java 16 주요 특징 및 개선 사항: Records, Pattern Matching, Sealed Classes 등
Java 17 주요 특징 및 개선 사항: Sealed Classes, Records, Pattern Matching 등
Java 18 주요 특징 및 개선 사항: Simple Web Server, UTF-8 기본 인코딩 등
Java 19 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Foreign Function & Memory API 등
Java 20 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Scoped Values 등
Java 21 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Structured Concurrency 등