공유된 기사
"2024년 자바 진화 계획: Oracle, Amber부터 Babylon, Valhalla까지 OpenJDK 프로젝트 활용 예정"

오라클은 2024년에 자바를 발전시키기 위한 계획을 세우고 있으며, 이에는 작은 규모의 생산성 중심 기능을 개발하기 위한 Amber 프로젝트부터, GPU와 같은 외부 프로그래밍 모델로 자바를 확장하기 위한 Babylon 프로젝트, 그리고 오랫동안의 성능 병목현상을 해결하기 위해 자바 객체 모델에 값 객체를 추가하는 Valhalla 프로젝트 등이 포함되어 있다. 오라클 자바 개발자 관계 대표인 Nicolai Parlog는 1월 18일 게시된 비디오에서 올해 자바의 계획을 설명했다. 그는 "그러나 대부분의 작업은 같은 해에 출시되지 않으며, 따라서 많은 개선 사항들은 2025년 이후에야 사용 가능할 것"이라고 경고했다.
Babylon 프로젝트에 대해 Parlog는 코드 리플렉션, 리플렉션 API 확장, 메소드 내에서 자바 코드 변환을 계획하고 있다고 밝혔다. 이는 개발자들이 라이브러리가 수학 함수로 해석할 수 있는 자바 코드를 작성할 수 있게 하는 것이 목표다. Babylon 팀은 앞으로 몇 주간 자동 차별화, C# LINQ 에뮬레이션, GPU 프로그래밍 등의 사용 사례에 대한 작업을 발표할 계획이다. Leyden 프로젝트는 시작 시간을 개선하는 것을 목표로 하며, 2024년의 계획은 콘덴서 개념을 개선하고 프로토타입 콘덴서의 생산 준비를 위해 작업하는 것이다.
Valhalla 프로젝트에서는 값 클래스와 객체에 초점을 맞추고 있으며, 이는 인스턴스 필드만 가지고 객체 신원이 없는 클래스 인스턴스를 제공한다. 이는 개발자들이 클래스에 적용된 의미에 대해 혼란스러워하는 것을 제거하고, 박싱된 객체의 런타임 오버헤드를 크게 줄일 수 있다. Lilliput 프로젝트는 HotSpot JVM에서 자바 객체 헤더를 축소하고 자바의 메모리 사용량을 줄이는 것을 목표로 하며, 현재는 빠른 잠금 체계를 정제하는 작업에 중점을 두고 있다. Panama 프로젝트는 JVM과 네이티브 C 코드를 연결하는 것을 목표로 하며, 벡터 API는 인큐베이션 단계에 있고, 외부 함수 및 메모리 API는 개선 중이며, 네이티브 라이브러리 헤더에서 자바 바인딩을 생성하는 jextract 도구는 개발 중이다. 이 모든 것들은 네이티브 라이브러리 작업을 더 간단하게 만든다.
Babylon 프로젝트에 대해 Parlog는 코드 리플렉션, 리플렉션 API 확장, 메소드 내에서 자바 코드 변환을 계획하고 있다고 밝혔다. 이는 개발자들이 라이브러리가 수학 함수로 해석할 수 있는 자바 코드를 작성할 수 있게 하는 것이 목표다. Babylon 팀은 앞으로 몇 주간 자동 차별화, C# LINQ 에뮬레이션, GPU 프로그래밍 등의 사용 사례에 대한 작업을 발표할 계획이다. Leyden 프로젝트는 시작 시간을 개선하는 것을 목표로 하며, 2024년의 계획은 콘덴서 개념을 개선하고 프로토타입 콘덴서의 생산 준비를 위해 작업하는 것이다.
Valhalla 프로젝트에서는 값 클래스와 객체에 초점을 맞추고 있으며, 이는 인스턴스 필드만 가지고 객체 신원이 없는 클래스 인스턴스를 제공한다. 이는 개발자들이 클래스에 적용된 의미에 대해 혼란스러워하는 것을 제거하고, 박싱된 객체의 런타임 오버헤드를 크게 줄일 수 있다. Lilliput 프로젝트는 HotSpot JVM에서 자바 객체 헤더를 축소하고 자바의 메모리 사용량을 줄이는 것을 목표로 하며, 현재는 빠른 잠금 체계를 정제하는 작업에 중점을 두고 있다. Panama 프로젝트는 JVM과 네이티브 C 코드를 연결하는 것을 목표로 하며, 벡터 API는 인큐베이션 단계에 있고, 외부 함수 및 메모리 API는 개선 중이며, 네이티브 라이브러리 헤더에서 자바 바인딩을 생성하는 jextract 도구는 개발 중이다. 이 모든 것들은 네이티브 라이브러리 작업을 더 간단하게 만든다.