2016 Java Virtual Machine Language Summit : JVM의 미래를 바라보고
모듈 식 : Project jigsaw Project Jigsaw는 Java 9의 핵심 기능으로 Java 언어의 모듈 식 메커니즘을 소개합니다. 개발자는 안정적인 구성, 강력한 포장 및 확장 성, 보안 및 성능 향상을 가능하게하는 모듈을 만들 수 있습니다. Java 9는 모듈을 생성 할 수 있습니다 (기본적으로 새로운 구조 - 모듈 디스크립터가 포함 된 JAR 패키지). 모듈 디스크립터는 모듈 이름을 지정하고 필요한 모듈을 나열하며 패키지를 내보내는 모듈을 설명합니다. 런타임에 모듈은 주로 모듈 만 나타나고 (readability)에 의존하고 모듈을 읽을 때 다른 모듈에서 유형 (접근성)에만 액세스 할 수 있고 모듈은 해당 유형을 포함하는 패키지를 내보내는 경우에만 액세스 할 수 있습니다. 이것은 컴파일러와 JVM이 결국 모든 코드와 종속성을 통합 한 큰 진흙 공 패턴을 포기하고 소프트웨어 구조에 대한 우리의 이해에 더 가까운 실제 맵으로 대체했음을 의미합니다. 컴파일러와 JVM은 모두이 그래프를 이해하므로, 누락 된 모듈, 동일한 모듈의 여러 버전 또는 여러 모듈이 컴파일 또는 시작 중에 동일한 패키지를 내보내면서 런타임 오류 또는 감지하기 어려운 미묘한 오류를 피합니다.
값 유형 : Project ValhallaProject Valhalla는 사용자 정의 원시 유형으로 요약 할 수있는 값 유형을 도입하도록 설계되었습니다. 값 유형은 원시 유형과 동일하며 메모리 오버 헤드 또는 간접 주소를 발생하지 않습니다. 두 개의 INT 필드 X 및 Y를 포함하는 사용자 정의 포인트는 사용 위치에 인쇄되므로 두 개의 INT에 필요한 메모리 만 필요하며 점수 배열은 본질적으로 X/Y 쌍의 배열입니다. 원래 유형과 마찬가지로 이러한 점이 식별되지 않습니다. 값이 5 인 두 개의 다른 정수 객체가있을 수 있지만 5 개의 다른 int 값은 5가 없습니다. 클래스와 마찬가지로 값 유형은 메소드와 필드를 가질 수 있으며 인터페이스를 구현할 수 있습니다. 따라서 슬로건은 "수업과 같은 코딩, int처럼 작동"입니다. 이를 통해 선호하는 추상화와 필요한 성능 사이에서 거래를 중단하지 못하게됩니다.
그러나를 만들 수 없습니다. 이것은 이미 8 가지 원시 유형에 대해 고통 스럽지만 (스트림 또는 트로브와 같은 라이브러리의 원시 유형 전문화 참조) 개발자가 더 많은 유형을 정의 할 수있을 때 견딜 수 없습니다. 값 유형이 제네릭 (예 : 오늘날의 기본 유형)과 상호 작용하도록 박스를 사용해야하는 경우 사용은 매우 제한되어 있으며 시작되지 않습니다.
가상 머신 미래
사이의 격차를 해소합니다.
위 내용은 JVMLS 2016 : Java Virtual Machine Language Summit의 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!