본문 바로가기
Develop

Java9 Java10 특징 찾아보기

by _dreamgirl 2020. 2. 22.
반응형

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 컴파일러로 사용할 수 있음

 

 

 

참고 사이트

https://www.slideshare.net/changhwanhan1/9-java9-features

http://jdk.java.net/10/

http://itstory.tk/entry/Java-10-신규-기능특징-정리

반응형

댓글