>기술 주변기기 >IT산업 >JVMLS 2016 : Java Virtual Machine Language Summit의 요약

JVMLS 2016 : Java Virtual Machine Language Summit의 요약

William Shakespeare
William Shakespeare원래의
2025-02-18 10:26:10522검색

JVMLS 2016: A Recap of Java Virtual Machine Language Summit 2016 Java Virtual Machine Language Summit : JVM의 미래를 바라보고 2016 Java Virtual Machine Language Summit (JVMLS)은 언어 디자이너와 JVM 엔지니어를 모아 JVM의 향후 개발과 Java 언어에 미치는 영향에 대해 논의합니다. 이 정상 회담은 프로젝트 Jigsaw, Project Valhalla 및 가상 머신의 미래와 같은 주요 문제에 중점을 두었습니다.

모듈 식 : Project jigsaw Project Jigsaw는 Java 9의 핵심 기능으로 Java 언어의 모듈 식 메커니즘을 소개합니다. 개발자는 안정적인 구성, 강력한 포장 및 확장 성, 보안 및 성능 향상을 가능하게하는 모듈을 만들 수 있습니다. Java 9는 모듈을 생성 할 수 있습니다 (기본적으로 새로운 구조 - 모듈 디스크립터가 포함 된 JAR 패키지). 모듈 디스크립터는 모듈 이름을 지정하고 필요한 모듈을 나열하며 패키지를 내보내는 모듈을 설명합니다. 런타임에 모듈은 주로 모듈 만 나타나고 (readability)에 의존하고 모듈을 읽을 때 다른 모듈에서 유형 (접근성)에만 액세스 할 수 있고 모듈은 해당 유형을 포함하는 패키지를 내보내는 경우에만 액세스 할 수 있습니다. 이것은 컴파일러와 JVM이 결국 모든 코드와 종속성을 통합 한 큰 진흙 공 패턴을 포기하고 소프트웨어 구조에 대한 우리의 이해에 더 가까운 실제 맵으로 대체했음을 의미합니다. 컴파일러와 JVM은 모두이 그래프를 이해하므로, 누락 된 모듈, 동일한 모듈의 여러 버전 또는 여러 모듈이 컴파일 또는 시작 중에 동일한 패키지를 내보내면서 런타임 오류 또는 감지하기 어려운 미묘한 오류를 피합니다.

값 유형 : Project Valhalla

Project Valhalla는 사용자 정의 원시 유형으로 요약 할 수있는 값 유형을 도입하도록 설계되었습니다. 값 유형은 원시 유형과 동일하며 메모리 오버 헤드 또는 간접 주소를 발생하지 않습니다. 두 개의 INT 필드 X 및 Y를 포함하는 사용자 정의 포인트는 사용 위치에 인쇄되므로 두 개의 INT에 필요한 메모리 만 필요하며 점수 배열은 본질적으로 X/Y 쌍의 배열입니다. 원래 유형과 마찬가지로 이러한 점이 식별되지 않습니다. 값이 5 인 두 개의 다른 정수 객체가있을 수 있지만 5 개의 다른 int 값은 5가 없습니다. 클래스와 마찬가지로 값 유형은 메소드와 필드를 가질 수 있으며 인터페이스를 구현할 수 있습니다. 따라서 슬로건은 "수업과 같은 코딩, int처럼 작동"입니다. 이를 통해 선호하는 추상화와 필요한 성능 사이에서 거래를 중단하지 못하게됩니다.

그러나 그러나 프로젝트는 빠르게 트랙에서 벗어났습니다. 우리 모두 알다시피, 제네릭은 원시 유형으로 작동하지 않습니다. ArrayList

를 만들 수 없습니다. 이것은 이미 8 가지 원시 유형에 대해 고통 스럽지만 (스트림 또는 트로브와 같은 라이브러리의 원시 유형 전문화 참조) 개발자가 더 많은 유형을 정의 할 수있을 때 견딜 수 없습니다. 값 유형이 제네릭 (예 : 오늘날의 기본 유형)과 상호 작용하도록 박스를 사용해야하는 경우 사용은 매우 제한되어 있으며 시작되지 않습니다. 따라서 값 유형을 가진 제네릭을 사용할 수 있어야합니다. 프라이드 유형도 함께 사용할 수 있습니다. 궁극적으로, 우리는 ArrayList 또는 ArrayList 를 인스턴스화 할뿐만 아니라 각각 int [] 또는 point []에 의해 지원되기를 원합니다. 이것을 전문화라고하며 완전히 새로운 퍼즐을 열어줍니다. 운이 좋으면 일부 또는 심지어 일부는 Java 10에 포함됩니다.

가상 머신 미래 JVMLS 2016: A Recap of Java Virtual Machine Language Summit John Rose는 가상 기계를 미래에 끌어들이는 몇 가지 방향에 대해 이야기했습니다.

객체, 값, 어레이, 메소드 등의 통합 모델 밀도 및 공유 증가를 통한 메모리 효율 향상, 핫스팟 경로의 지속적인 최적화와 같은 성능을 지속적으로 향상시킵니다. 핵심 추상화로 스레드를 초월하는 섬유를 사용하여 세분화 된 동시성 더 유용하고 호환되며 상호 운용 가능해집니다. 언어를 실행하는 언어와 모국어의 경우

사이의 격차를 해소합니다. 스택은 구체화되어 있으며 스택은 문자열뿐만 아니라 실제 객체로 클래스와 메소드를 보유하고 있으며 각 프레임 (로컬 변수, 모니터 등)의 전체 컨텍스트가 보이고 프로그램을 실행할 수 있습니다. 🎜> 많은 내용은 내 이해를 넘어서지 만 그의 연설을 듣는 것은 그의 열정을 느끼더라도 여전히 많은 도움이되었습니다. Rose의 전망 정신과 일치하는 Project Panama (Mikel Vidstedt와 Tobi Ajila가 "Going Native"에서 논의 됨)는 Ian Graves가 "Java Vector API"를 보충하는 것입니다. Christian Wimmer의 "One Compiler"에 대한 시연은 또한 격차를 해소하기위한 것입니다.

요약

JVM은 많은 똑똑한 사람들이 복잡성을 제어하면서 더 강하게 만들기 위해 노력하고있는 강력한 도구입니다.
    2016 JVM 언어 서밋에 대한 FAQS (이 부분은 원래 텍스트와 동일합니다)

위 내용은 JVMLS 2016 : Java Virtual Machine Language Summit의 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.