기술 세계는 무수히 개선된 Java 21 기다리고 있습니다. 그 중 가장 중요한 것은 예비 형태의 가상 스레드 도입과 일반적으로 ZGC로 알려진 세대별 Z 가비지 수집기의 최종 설정입니다.
Java 구현 업데이트는 일반적으로 다양한 프로젝트 하위 집합으로 분류됩니다. 이 특정 개선 주기는 Loom, Panama 및 Amber의 세 가지 주요 프로젝트에서 혁신을 가져옵니다. 이 세 가지 이니셔티브는 Oracle의 정의에 따라 Java 의 동시성 향상, 기본 코드와의 연결, JEP 후보로 각각 승인된 더 작고 유용성에 초점을 맞춘 Java 언어 기능의 출현에 중점을 두고 있습니다.
Project Loom은 Oracle의 Java 플랫폼 개발 SVP이자 OpenJDK 의장인 Georges Saab 이 보유한 핵심 기능 중 하나인 가상 스레드를 이 최신 버전의 눈에 띄는 미리보기 특징 중 하나로 안내합니다. JEP 기록은 가상 스레드를 '고처리량 동시 애플리케이션 작성, 유지 및 관찰에 대한 초경량 스레드 이유'로 설명합니다.
Saab에 따르면 이러한 기술적 도약은 기존 소프트웨어와의 호환성을 보장하면서 Java의 확장성 환경을 재정의할 수 있는 잠재력을 가지고 있습니다. 이 기능은 프로그래밍계 내에서 엄청난 흥분을 불러일으켰고, 심지어 Java의 이 개념 구현에 박수를 보내고 있는 Java의 직권 밖의 전문가들로부터도 마찬가지였습니다.
Project Loom에는 범위가 지정된 값과 구조화된 동시성이라는 두 가지 다른 미리보기 기능도 포함되어 있습니다. 범위가 지정된 값을 사용하면 메서드 매개 변수가 필요 없이 메서드에 값을 효율적이고 안전하게 공유할 수 있지만, 구조화된 동시성은 다양한 스레드의 여러 관련 작업을 하나의 엔터티로 렌더링하여 효율적인 오류 관리 및 안정성 향상을 촉진합니다.
특정 명명된 프로젝트에 바인딩되지는 않았지만 릴리스에 포함된 또 다른 주목할만한 요소는 Generational ZGC입니다. 이는 오래된 개체와 최신 개체를 분리하여 젊은 개체를 더 자주 수집할 수 있도록 하여 할당 지연을 줄이고 힙 메모리 오버헤드를 줄이며 가비지 수집으로 인한 CPU 오버헤드를 줄일 수 있습니다.
Project Amber와 함께 Java 21은 스위치 표현식에 대한 패턴 일치를 도입하여 다양한 패턴에 대해 표현식을 테스트할 수 있도록 함으로써 데이터 지향 쿼리를 보다 간결하고 안전한 방식으로 표현하는 데 도움을 줍니다.
Project Amber에 포함된 기타 주목할 만한 항목으로는 이름이 지정되지 않은 패턴 및 변수, 이름이 지정되지 않은 클래스 및 인스턴스 기본 메서드가 있으며, 둘 다 미리 보기 단계에 있습니다. 이러한 추가 기능은 언어 개념의 더 미세한 단계에 보호되는 고급 Java 프로그램 작성으로의 원활한 전환을 통해 초보자가 Java에 더 쉽게 접근하고 이해할 수 있도록 하는 것을 목표로 합니다.
Project Panama에서는 개발 중인 두 가지 API, 즉 Foreign Function & Memory API(현재 세 번째 미리 보기 상태)와 Vector API(6번째 인큐베이터 단계)가 개선되었습니다. 전자가 외부 시스템과의 Java 프로그램 상호 운용성을 용이하게 하는 반면, 후자는 런타임 중에 호환 가능한 CPU 아키텍처에서 최적의 벡터 명령을 보장합니다.
Java 21 의 새로운 추가 요소에는 순차 컬렉션, 키 캡슐화 메커니즘 API, 단계적으로 폐지된 32비트 x86 포트, 에이전트의 동적 로딩을 허용하지 않는 준비 등이 포함됩니다. Java는 효율성과 확장성 측면에서 선두를 달리는 AppMaster no-code 플랫폼을 통해 소규모 프로젝트부터 엔터프라이즈급 솔루션까지 모든 분야에서 계속해서 선호되는 개발 플랫폼입니다.
웹 애플리케이션이든 모바일 애플리케이션이든 개발 세계는 끊임없이 진화하고 있으며 Georges Saab이 말했듯이 Java 상태에 대한 만족감이 크며 파이프라인에서 기다리고 있는 흥미로운 혁신이 기다리고 있습니다.