프로젝트 발할라(자바어)

Project Valhalla (Java language)

Project Valhalla는 Java 10 이상의 주요 새로운 언어 기능을 개발하기 위한 실험적인 OpenJDK 프로젝트입니다.이 프로젝트는 2014년 7월에 발표되었으며 엔지니어 Brian Goetz[1]이끄는 Oracle의 실험적인 작업입니다.

계획된 기능

Valhalla는 다음과 같은 영역에서 Java 언어 기능과 향상된 기능을 [2]육성하고 있습니다.

  • 유형: 상속이 없는 매우 효율적인 작은 '개체'입니다.
  • 범용 전문화List<int>예를들면.
  • Generic을 재인증.실제 타입은 실행 시 그대로 유지.
  • 향상된 '휘발성' 지원

이러한 기능을 사용하려면 구문과 VM 수준을 모두 변경해야 합니다.

프로젝트 액티비티

프로젝트는 오픈으로 구성됩니다.JDK 'Project Valhalla' 메일링 리스트.프로젝트 Valhalla는 첫 번째 발표와 초기 제안 초안을 가지고 실험 단계에서 시작되었습니다.

2022년 1월 발행:

실험적인 OpenJDK 프로토타입을 Mercurial 저장소에서 구축할 수도 있습니다.이것들은 많은 전문화 기능을 통합하기 시작하고 있다.이들은 Gnu Make/C++ 소스이며 OpenJDK를 구축하려면 기술적인 전문지식이 필요합니다.자세한 내용은 OpenJDK 빌드 지침을 참조하십시오.

기술적 이점과 시사점

메모리 액세스의 퍼포먼스와 박스형 가치 액세스의 효율은, 이러한 기능에 의해서 대처해야 할 주요한 영역입니다.'값 유형' 기능과 '일반화' 기능(목록 또는 컬렉션에 적용 시)은 메모리 사용량을 줄이지만 일반적으로 캐시 [3][4]누락의 원인이 되는 포인터 인다이렉션을 피합니다.

Project Valhalla 확장 기능에서는 메모리 전체에 분산된 데이터 값을 가리키는 객체 참조 목록 또는 배열이 아닌 목록 또는 배열 값을 연속된 메모리 블록으로 잠재적으로 간접적으로 선형으로 배치할 수 있습니다.

Value Type은 "Code like class, works like int!"[5]로 간주됩니다.값 유형에는 동기화 및 상속이 제외됩니다.이러한 기능에는 더 이상 객체 ID와 관련된 메모리/포인터 오버헤드가 필요하지 않지만 [4]호환성을 위해 '박스' 형식을 취할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Goetz, Brian. "Welcome to Valhalla!". OpenJDK mail archive. OpenJDK. Retrieved 12 August 2014.
  2. ^ Evans, Ben. "Oracle Launches Project Valhalla for Java". InfoQ. InfoWorld. Retrieved 12 August 2014.
  3. ^ Krill, Paul. "Next generation Project Valhalla proposed; Value types, generic specialization, and enhanced volatiles top the wish-list for Project Valhalla". JavaWorld. InfoWorld. Retrieved 12 August 2014.
  4. ^ a b "Value Types & List<int> coming for Java 10 ?". LiterateJava.com. Retrieved 12 August 2014.
  5. ^ Rose, John; Goetz, Brian; Steele, Guy. "State of the Values". OpenJDK. Retrieved 12 August 2014.

외부 링크