Java9부터 자바 릴리즈 주기를 6개월로 변경하여 매월 3월, 9월에 출시된다.
JCP(Java Community Process) - 자바 기술 표준 기술 명세서를 개발하는 체제
JSR(Java Specification Requests Java) - 자바 플랫폼에 제안된 실제 명세서와 최종 결정된 명세서
JEP(JDK Enhancement Proposal) - Java Development kit과 OpenJDK를 향상 시키기 위해 제안들을 모으는 오라클의 밑그림
# Java9의 특징
새로운 툴인 JShell을 제공
모듈 시스템의 변화
- 직소 프로젝트(jigsaw project)
- Modular JDK
- Modular Java source Code
- Modular Run-Time Images
- Encapsulate Java Internal APIs
- Java Platform Module System
리액티브 스트림(Reactive Stream) API 추가
자바 언어를 이용해서 매우 쉽게 병행성, 확장성, 비동기 어플리케이션을 구현한 Publish/ Subscribe 프레임워크
Private methods in Interface
Process API 향상 - ProcessHandle, ProcessHandle.info Class 추가됨
Try with Resource 향상
Factory Method 제공
- List/Set of 메소드를 통해 불변의 비어있거나 비어있지 않은 객체를 만듦
- Map of, ofEntrlres
Optional Class 향상
Stream API 향샹 - dropWhile, takeWhile 메서드
Http Client 2
- 동기화, 비동기 모드 모두 지원
- WebSocket API를 사용하여 비동기 모드 지원
# Java10의 특징
Local Variable Type Inference
- 로컬 변수 var을 이용함으로서 컴파일러에게 타입을 추론할 수 있게 하였다.
- 초기화된 로컬 변수 선언, 반복문에서 지역변수 선언시 사용할 수 있다.
Repository 통합 - JDK forest 저장소을 단일 저장소로 통합함
Garbage-Collector Interface
기능의 목적은 핫스팟(HotSpot) 가상 머신의 내부 가비지 수집 코드를 위한 모듈성을 강화하고 핫스팟에 새 가비지 수집기를 추가하는 작업을 더 쉽게 하기 위한 것이다.
Application Class Data 공유 - 기존의 클래스 데이터 공유(Class-Data Sharing, CDS) 기능을 확장해 시작 시간과 설치 공간을 최적화함으로써 애플리케이션 클래스를 공유 아카이브에 배치할 수 있게 함
스레드-로컬 핸드세이크
실험적인 자바 기반 JIT 컴파일러 - 자바 기반 JIT 컴파일러인 그랄(Graal)을 리눅스/x64 플랫폼에서 실험적인 JIT 컴파일러로 사용할 수 있음
참고 사이트
'Develop' 카테고리의 다른 글
이것이 자바다 - NIO 기반 입출력 및 네트워킹 (0) | 2020.02.22 |
---|---|
이것이 자바다 - IO 기반 입출력 및 네트워킹 (0) | 2020.02.22 |
이것이 자바다 - 스트림과 병렬처리 (0) | 2020.02.22 |
이것이 자바다 - 컬렉션 프레임워크 (0) | 2020.02.22 |
이것이 자바다 - 제네릭 & 람다 (0) | 2020.02.22 |
댓글