수용된 특성
1. 직소 프로젝트;
직소 프로젝트는 Java 코드를 모듈화하고 JRE를 서로 협력 할 수있는 구성 요소로 나누는 것입니다. JEP는 Jigsaw의 4 단계를 향한 첫 번째 단계이며 JRE와 JDK의 실제 구조를 변경하지 않습니다. JEP는 JDK 소스 코드를 모듈화하여 컴파일 시스템이 구성 할 때 모듈 경계를 컴파일하고 확인할 수 있도록합니다. 이 프로젝트는 원래 Java 8과 함께 출시되었지만 지연으로 인해 Java 9에 추가됩니다.
완료되면 프로젝트에 따라 Rt.jar의 크기를 줄이기 위해 프로젝트에 따라 사용자 정의 구성 요소가 허용 될 수 있습니다. JDK 7 및 JDK 8의 Rt.jar 패키지에는 약 20,000 개의 카테고리가 있지만 일부 특정 환경에서는 많은 클래스가 사용되지 않았습니다 (Java 8의 소형 분포 특성에서도 일부 솔루션이 포함되어 있습니다. 클래스 중복이 있습니다. ). 이를 통해 Java는 소규모 컴퓨팅 장치 (예 : 네트워크 장치)에 쉽게 적용하고 보안 및 성능을 향상 시키며 개발자가 이러한 클래스 라이브러리를 더 쉽게 구축하고 유지 관리 할 수 있습니다.
2. 프로세스 API를 단순화합니다
현재로서는 Java가 시스템을 제어하고 관리하는 능력이 제한적입니다. 예를 들어, 단순히 프로그램 PID를 얻으려면 로컬 프로그램에 전화하거나 직접 변환 솔루션을 사용합니다. 또한 각 (시스템) 플랫폼은 올바른 결과를 얻을 수 있도록 다른 구현이 필요합니다.
코드는 Linux PID를 얻을 수있을 것으로 예상되며 이제는 다음과 같은 방법입니다.
public static void main (string [] args)은 예외 {process proc = runtime.getRuntime () (new String []/bin/sh ","-c ","echo $ ppid "}); .waitfor () == 0) {proc.getInputStream (); ); system.out.println ( "당신의 pid는" + pid);}}
Java 9에서는 다음과 같은 방법으로 변경할 수 있습니다 (모든 운영 체제 지원) :
System.out.println ( "PID는" + process.getCurrentPid ());
이 업데이트는 운영 체제와 Java의 대화식 능력을 확장합니다. PID, 프로세스 이름 및 상태를 처리하고 여러 JVM 및 프로세스 및 더 많은 것을 열거하는 새롭고 직접적인 방법을 추가합니다.
3. 경량 JSON API
현재 JSON을위한 많은 Java 도구가 있지만 JSON API의 독창성은 JSON API가 Java 언어의 일부가 될 것이며 Java 8의 새로운 기능을 사용한다는 것입니다. Java.util 백에서 출시 될 예정이지만 JSR 353의 JSON은 세 번째 파티 백 또는 기타 방법으로 처리됩니다).
4. 돈과 통화의 API
Java 8은 날짜와 시간의 API를 도입 한 후 통화를 나타내는 새로운 통화 API를 도입하고 통화와 다양한 복잡한 운영 간의 전환을 지원합니다. https : //github.com/을 방문하십시오. Javamoney, 사용 지침 및 예제가 제공되었습니다.
// 새로운 유형 : Money & Fastmone Money Amt1 = Money.of (10.1234556123456789, "USD"; 총 = AMT1.ADD (AMT2); ); // 1.202, 12 USD
JSR 354에 대한 자세한 내용
5. 잠금 메커니즘을 향상시킵니다
잠금을 사용하는 것은 많은 Java 다중 스레드 애플리케이션 성능을 제한하는 병목 현상입니다. 무거운 하중의 매일 적용을 시뮬레이션하는 동일한 자원.
이러한 압력 테스트를 통해 JVM의 극단적 인 처리량을 추정 할 수 있습니다. 응용 프로그램을 적용하고 응용 프로그램을 적용 할 수 있으며 응용 프로그램이 응용 프로그램에 적용되고 응용 프로그램이 적용되고 응용 프로그램이 적용되고 응용 프로그램이 적용되고 응용 프로그램이 적용되고 응용 프로그램이 적용됩니다. 응용 프로그램이 적용되며 응용 프로그램의 성능이 크게 향상됩니다.
JEP 143에 대한 더 많은 콘텐츠
6. 코드 세그먼트 캐시
Java 9의 또 다른 성능 개선은 JIT (Just-In-Time) 컴파일러에서 나옵니다. 특정 코드가 반복적으로 실행되면이 코드가 기계 코드로 컴파일하고 대신 코드 캐시에 저장합니다. 캐시에서 다른 세그먼트에 액세스하여 개선됩니다.
원래 단일 캐시 영역과는 달리 새 코드 캐시는 코드 자체의 수명주기에 따라 세 가지 유형으로 나뉩니다.
-결합 코드 (JVM Build -in/ Non -Method 코드)
-단기 코드 (특정 조건에서만 적용 가능한 프로파일 코드)
-장기 코드 (비 구성 코드)
캐시 세그먼트는 모든 측면에서 프로그램의 성능을 향상시킬 수 있습니다.
JEP 197에 대한 자세한 내용
7. 지능형 Java 컴파일, 두 번째 단계
지능형 Java 컴파일 도구 SJAVAC의 첫 번째 단계는 JEP 139 프로젝트에서 시작하여 멀티 코어 프로세서에서 JDK의 컴파일 속도를 높였습니다. Java Compile 도구의 Java 기본 범용 컴파일 도구를 교체하십시오.
기대할 가치가있는 기타 콘텐츠 :
8. HTTP 2.0 클라이언트
HTTP 2.0 표준은 아직 공식적으로 출시되지 않았지만 최종 검토 단계에 들어갔다. 현재의 HTTPURLConnection은 동시에 HTTP 2.0 및 네트워크 인터페이스 (원본 웹 소켓)가 공식적으로 인정되지 않았지만이 프로젝트의 내용을 Java 9에 포함시키기를 희망합니다.
공식 HTTP 2.0 RFC (공식 기술 토론/회의 기록 등과 같은 일련의 문서 기록은 2015 년 2 월에 출시 될 예정입니다 SPDY 프로토콜에서 네트워크는 HTTP 1.1 프로토콜을 기반으로 네트워크와 비교하여 11.81%와 47.7%사이의 상당한 가속도가 있습니다.
9. Kulla 계획 : Java의 REPL 구현
Kulla라는이 프로젝트는 최근 2015 년 4 월에 통합 될 것이라고 발표했습니다. 더 이상 Java 9의 출시를 따라 잡기를 희망하지 않지만 진행 상황이 빠르면 대체 할 수 있습니다 (Read-Eval -Print-Loop) 방법, 즉 빠른 테스트를 위해 몇 줄의 Java 코드를 실행하려면 IDE에 이러한 라인을 캡슐화해야합니다. 그러나 그들은 공식적인 지원이 없으며 Kulla 프로젝트는 Java가 발표 한 공식 REPL 솔루션 일 수 있습니다.
Kulla 계획에 대한 자세한 내용
이 새로운 기능은 어디에서 왔습니까?
JEP와 JSR은 Java 개발의 생태 환경을 소개하지 않습니다.
보안, 네트워크, 스윙, 핫스팟, 조직 및 공통 관심사와 같은 특정 기술 컨텐츠
프로젝트 작성 코드, 문서 및 기타 작업은 최근 Lambda 프로그램, Jigsaw Plan 및 Sumatra 프로그램과 같은 그룹이 후원하고 지원합니다.
JEP (JEP) -새로운 시도가 필요한 경우, JEP는 JCP (Java Community Process) 전 또는 동시에 비공식 사양을 제안 할 수 있습니다.
Java Norm Proposal (JSR) -이 단계에는 그룹/ 항목, JEP, JCP 멤버 또는 Java 커뮤니티 (Community) 회원이 제공 될 수 있습니다.