오라클, 자바 25 출시 ‘8년 기술 지원’

오라클은 프로그래밍 언어이자 개발 플랫폼인 자바의 최신 버전 ‘자바 25’를 출시한다고 17일 밝혔다.

자바 25(오라클 JDK 25)는 개발자의 생산성을 강화하고 자바 플랫폼의 성능, 안정성, 보안을 향상시키는 수천 가지 개선 사항을 제공함으로써 기업의 비즈니스 성장을 지원한다. 오라클은 자바 25에 8년 이상의 장기 지원을 제공할 예정이다.

자바 25는 8년의 장기 지원을 받을 수 있어, 기업은 최소한의 유지보수만으로 더 오래 애플리케이션을 운영할 수 있는 유연성을 확보하고 여건에 맞게 마이그레이션할 수 있게 된다. 오라클 JDK 25는 오라클 무료 이용 약관(NFTC)에 따라 2028년 9월까지 분기별 보안 및 성능 업데이트를 제공받으며, 이후 출시되는 JDK 25 업데이트는 최소 2033년 9월까지 계획된 자바 SE OTN 라이선스(OTN) 하에 제공될 예정이다.

오라클 JDK 25의 주요 개선된 언어 기능으로 ‘패턴, 인스턴스오브, 스위치의 기본 유형(JEP 507, 세 번째 미리보기)’은 균일하고 표현력이 풍부한 언어를 통해 개발자의 자바 프로그래밍 생산성을 증대한다. 예를 들어 패턴 매칭, 인스턴스오브(instanceof), 스위치(switch) 사용 시 개발자가 직면하는 기본 유형 관련 제한 사항들을 제거함으로써 패턴 매칭을 개선할 수 있다. 모든 패턴 컨텍스트에서 기본 유형 패턴을 허용하고 인스턴스오브 및 스위치 확장을 통해 모든 기본 유형과의 호환성을 제공한다. 기본 유형 지원은 특히 AI 추론이 통합된 애플리케이션을 구축하는 개발자에게 많은 이점을 제공한다.

‘모듈 임포트 선언(JEP 511)’은 모듈에서 엑스포트된 모든 패키지를 개발자가 손쉽게 임포트할 수 있게 지원한다. 이때 임포트 코드는 모듈 자체에 속할 필요가 없어 생산성 향상을 돕는다. 이 기능은 모든 개발자의 모듈러 라이브러리 재사용을 간소화해 주고, 초보자들이 패키지 계층 내 제3자 라이브러리 및 기본 자바 클래스의 위치를 익히지 않고도 각각을 보다 손쉽게 사용할 수 있게 해 준다. 또한 개발자는 모듈이 내보내는 API의 다양한 부분을 사용할 때 여러 타입 임포트 온디맨드 선언을 나열하지 않아도 된다. 이는 널리 사용되는 라이브러리의 AI 추론과 워크플로우를 결합하는 간결한 애플리케이션에 유용하다.

‘간결한 소스 파일 및 인스턴스 메인 메서드(JEP 512)’은 자바 프로그래밍 능력의 점진적인 성장을 지원해 초보자, 시스템 및 IT 관리자의 자바 프로그래밍에 대한 접근성을 향상시켜 준다. 대규모 프로그램을 위해 설계된 언어 기능에 대한 이해 없이도 간결한 방식으로 첫 프로그램을 작성하고 프로그래밍 능력이 성장함에 따라 코드를 원만하게 성장시킬 수 있다. 또한 자바 전문가가 아닐 수 있는 시스템 및 IT 관리자는 스크립트나 명령줄 유틸리티와 같은 소규모 프로그램을 작성하는 번거로움을 덜 수 있다.

‘유연한 생성자 본문(JEP 513)’으로 개발자는 생성자를 명시적으로 호출하기에 앞서 입력 검증 및 안전한 계산을 수행해 코드 안전성 및 신뢰성을 개선할 수 있다. 이는 더 자연스러운 생성자 표현을 지원하고, 상위 클래스 생성자에서 호출되는 메서드와 같이 다른 분류 코드에 표시되기 전 필드를 초기화할 수 있도록 하여 코드 안전성을 강화한다. 또한 하위 클래스 생성자의 코드가 상위 클래스 인스턴스화를 방해하지 않는다는 기존의 안전 장치가 유지되므로 안정성이 향상된다.

오라클 JDK 25의 새로운 라이브러리로 ‘구조화된 동시성(JEP 505, 다섯 번째 미리보기)’은 동시성 프로그래밍을 단순화해 개발자가 멀티스레드 코드의 유지보수 용이성, 안정성, 관찰 가능성을 개선할 수 있도록 한다. 다양한 스레드에서 실행 중인 관련 작업 그룹을 단일 작업 단위로 취급함으로써 스레드 누수 및 취소 지연 등 취소 및 종료로 인해 흔히 발생하는 위험을 최소화할 수 있다. 이는 여러 작업을 동시에 실행하는 경우가 많은 AI 개발에 특히 유용하다.

‘범위가 지정된 값(JEP 506)’은 스레드 내 및 스레드 간에 변경 불가능한 데이터를 공유할 수 있도록 해 개발자가 프로젝트의 사용 편의성, 이해 가능성, 성능, 견고성을 향상시킬 수 있도록 지원한다. 이는 AI 플랫폼, 웹 프레임워크, 마이크로서비스를 사용하는 애플리케이션에 특히 유용하다. 또한 범위 지정 값은 스레드 로컬 변수보다 추론하기 쉬우며, 가상 스레드 및 구조화된 동시성과 함께 사용하면 공간 및 시간 비용이 절약된다.

‘안정적인 값(JEP 502, 미리보기)’은 변경 불가능한 데이터를 보유하는 객체인 안정적인 값(stable values)을 위한 API를 도입해 개발자의 유연성을 향상시킨다. 안정적인 값은 자바 가상 머신에서 상수로 처리되므로, 필드에 파이널(final)을 선언할 때와 동일한 성능 최적화를 가능케 하면서도 초기화 시점에 대한 더 큰 유연성을 제공한다.

‘벡터 API(JEP 50810차 인큐베이터)’는 개발자가 벡터 연산을 표현하는 API를 통해 생산성을 향상시킬 수 있도록 지원한다. 이 API는 지원되는 CPU 아키텍처에서 런타임에 안정적으로 관련 연산을 최적의 벡터 명령으로 컴파일한다. 개발자는 해당 API를 활용해 AI 추론 및 컴퓨트 시나리오에 자주 사용되는 스칼라 연산보다 뛰어나거나 그와 동등한 성능을 확보할 수 있다.

오라클 JDK 25 보안 라이브러리로 ‘암호화 객체의 PEM 인코딩(JEP 470, 미리보기)’은 객체 인코딩을 위한 새로운 API를 통해 개발자의 생산성 향상을 지원한다. 해당 API는 암호화 키, 인증서, 인증서 폐기 목록(CRL)을 나타내는 객체를 널리 사용되는 프라이버시 강화 이메일 전송 형식(PEM)으로 인코딩하고, 해당 형식에서 객체로 다시 디코딩한다. 이를 통해 개발자는 자바 애플리케이션을 유비키(Yubikey)와 같은 보안 인증 시스템 및 기기와 더 쉽게 통합할 수 있다.

‘키 추출 함수 API(JEP 510)’는 비밀 키 및 기타 데이터로부터 추가 키를 유도하는 암호화 알고리즘인 키 유도 함수를 위한 API를 제공해 개발자가 새롭게 등장하는 양자 컴퓨팅 환경에 대비할 수 있도록 지원한다. 이는 하이브리드 공개 키 암호화 지원을 위한 필수 구성 요소로, 양자 안전 암호화로의 원활한 전환을 가능케 한다.

오라클 JDK 25 성능 업데이트로 ‘컴팩트 객체 헤더(JEP 519)’는 64비트 아키텍처의 객체 헤더 크기를 64비트로 줄여 개발자의 생산성 향상을 지원한다. 이는 배포 밀도를 개선하고 데이터 지역성을 향상시킴과 더불어 실제 워크로드의 객체 크기와 메모리 사용량을 감소시킨다.

‘사전 컴파일 명령줄 편의성(JEP 514)’은 표현력 손실 없이 사전 컴파일 캐시를 더 쉽게 생성할 수 있도록 함으로써 개발자의 생산성 향상을 지원한다. 이를 통해 일반적인 사용 사례에 필요한 명령을 단순화해 자바 애플리케이션의 시작 속도를 가속화할 수 있다.

‘사전 메서드 프로파일링(JEP 515)’은 애플리케이션 성능을 가속화해 개발자의 생산성 향상을 지원한다. 초기 메서드 실행 프로파일 수집을 실제 실행에서 훈련 실행으로 전환하고, 사전 컴파일 캐시를 통해 프로파일을 전달함으로써 준비 시간을 개선할 수 있다. JIT 컴파일러는 프로파일 수집을 기다리지 않고 애플리케이션 시작 즉시 네이티브 코드를 생성할 수 있다. 또한 애플리케이션, 라이브러리, 프레임워크 코드 등의 변경이 불필요해지며, 애플리케이션 실행에 대한 제약도 제거된다.

오라클 JDK 25 모니터링 업데이트로 ‘JFR CPU-시간 프로파일링(JEP 509, 실험 단계)’은 JDK 플라이트 레코더(JFR)를 개선해 리눅스에서 보다 정확한 CPU 시간 프로파일링 정보를 수집하고 최적화 대상 프로그램 요소 식별을 지원해 개발자의 생산성과 프로그램 효율성을 향상시킨다.

‘JFR 협동 샘플링(JEP 518)’은 JFR의 비동기적 자바 스레드 스택 샘플링 안정성을 개선해 개발자의 코드 신뢰성 향상을 지원한다. 이를 통해 JFR은 이벤트 샘플러에서 세이프포인트 편향을 최소화하고 세이프포인트 외부에서 스택 추적을 생성하는 위험도가 높은 휴리스틱을 방지할 수 있다. 또한 하드웨어 이벤트에 대한 응답 혹은 신호 핸들러 내부에서 샘플 요청을 생성할 수 있게 하고, 샘플러 스레드가 수행해야 하는 필수 작업량을 줄인다.

‘JFR 메서드 타이밍 및 추적(JEP 520)’은 바이트코드 계측을 통해 메서드 타이밍 및 추적 기능을 JFR에 추가한다. 이는 개발자가 애플리케이션 성능 병목 현상을 식별하고, 코드를 최적화하고, 버그의 근본 원인을 파악해 생산성을 가속화할 수 있도록 지원한다.

자바 25의 기능들은 오픈JDK 및 자바 공동체 프로세스(JCP)를 통한 오라클과 글로벌 자바 개발자 공동체 회원들 간의 지속적인 협력의 결과다., 캘리포니아주 레드우드 쇼어스에서 오는 2026년 3월 17일부터 19일(현지 시간)까지 개최되는 자바원 2026에서 전 세계 자바 커뮤니티의 최신 자바 혁신 기술을 만나볼 수 있다.

오라클 JDK 25를 지원하는 최초의 하이퍼스케일러 클라우드인 오라클 클라우드 인프라스트럭처(OCI)에 자바 애플리케이션을 배포하면 더욱 향상된 혁신 기술, 성능, 효율성, 비용 절감 효과 등을 누릴 수 있다. 자바 25는 오라클 자바 SE와 더불어 자바 SE 서브스크립션 엔터프라이즈 퍼포먼스 팩 등의 고급 기능들을 추가 비용 없이 OCI를 통해 제공해 개발자가 최적화된 비용 대비 성능으로 더욱 빠르고 효율적으로 실행되는 애플리케이션을 구축 및 배포할 수 있게 지원한다.

오라클 자바 SE 유니버설 서브스크립션은 최고 수준의 고객 지원을 제공한다. 이 서비스는 자바 SE 서브스크립션 엔터프라이즈 퍼포먼스 팩, 자바 포트폴리오 전반에 대한 우선순위 기반 지원, 자바 관리 서비스, 고객의 비즈니스 현황에 맞춰 업그레이드할 수 있는 유연성 등을 제공한다. 이는 IT 팀의 복잡성 관리, 보안 위험 완화, 비용 절감에 기여한다.

자바 25는 OCI 및 오라클 자바 SE 유니버설 서브스크립션이 제공하는 이점에 더하여 향상된 애플리케이션 성능과 포스트 양자 암호화(PQC) 지원을 포함한 다양한 AI 및 보안 기능을 제공함으로써 자바 SE 플랫폼 구현 및 JDK의 성능, 안정성, 보안 개선에 기여한다.

오라클 조지 사브 자바 플랫폼 부문 수석 부사장 겸 오픈JDK이사회 의장은 “올해 자바는 30주년이라는 중요한 이정표를 맞이했다”며 “자바 플랫폼과 언어는 개발자가 혁신적인 AI 및 보안 기능이 접목된 애플리케이션을 쉽고 빠르게 구축할 수 있도록 지속적으로 진화하고 있다”고 밝혔다.

그는 “자바 25는 AI 솔루션의 구동, 그리고 신규 개발자 및 IT 팀이 자바를 더 쉽게 배울 수 있도록 언어를 단순화하기 위한 오라클의 지속적 투자의 결과물”이라고 덧붙였다.

글. 바이라인네트워크
<김우용 기자>yong2@byline.network

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


The reCAPTCHA verification period has expired. Please reload the page.