오라클 JDK 7 계획 수정?

Mark Reinhold의 블로그에 소개된 글을 보면 분명 JDK v7.0에 대한 계획이 수정될 것으로 보인다.

Re-thinking JDK 7

그의 글에 따르면 그동안 오라클 합병 과정 동안 지연되었던 일정 때문에 기존 JDK 7에 계획하였던 모든 기능을 지원하려면 2012년은 되어야 JDK 7을 출시할 수 있다고 한다. 너무 늦은 출시 때문에 Java의 발전 모멘텀이 약해질 수 있으므로 기존 JDK 7에서 계획되었던 기능을 축소하고 아래와 같은 새로운 출시 일정을 제안하고 있다.

Plan A: JDK 7 (as currently defined) Mid 2012
Plan B: JDK 7 (minus Lambda, Jigsaw, and part of Coin) Mid 2011

JDK 8 (Lambda, Jigsaw, the rest of Coin, ++) Late 2012




위 계획에서 오라클의 선택은 Plan B 란다. Lambda, Jigsaw, Coin의 일부 기능 등등을 제거한 JDK 7을 내년 중반에 출시하고 나머지 기능 + Alpha를 2012년에 JDK 8으로 출시한다는 계획이다.

그렇다면, JDK 7에 새로이 추가되는 기능에는 정확히 어떤 것들이 있다는 것일까? 해당 블로그의 커멘트를 보면 아래와 같은 기능들이 추가될 예정이라고 한다.

- invokedynamic and method handles for other language support
- nio.2 (asynchronous I/O and much better file/directory support)
- parallel classloading
- from Project Coin:
- 6860965: Support for binary literals (e.g. 2 can be written 0b10)
- 6860965: Support for underscored literals (e.g. 123456 can be written 123_456)
- 6827009: Support for strings in switch statements (e.g. case "a")
- 6840638: Improved inferencing with generics, e.g. Map map = new HashMap<>();
- jsr166y from http://gee.cs.oswego.edu/dl/concurrency-interest/:
- 6865571: Add a lightweight task framework known as ForkJoin
- 6445158: Phaser - an improved CyclicBarrier
- 6865579: Add TransferQueue/LinkedTransferQueue


블로그에 남겨진 커멘트들을 보면 대부분의 개발자들이 새로이 변경된 안에 찬성하는 것으로 보인다. 가끔식 Jigsaw가 빠진 것에 대한 실망을 언급하는 것도 볼 수 있다. 사실, Jigsaw는 Java의 가장 큰 문제점으로 지적되고 있는 느린 로딩 타임을 해결할 수 있는 중요한 기능이었기 때문에 개인적으로도 아쉽다.

여하튼, 몇년간 새로운 버전이 출시되지 않고 있는 JDK가 오라클 합병 후 새로운 계획과 함께 전진하고 있는 모습이 보여 내년이 기대가 된다. Go Go!

참고:
  1. Overview
    • JDK 7에 포함될 새로운 기능들에 대해 짧게 살펴보자.
  2. 동적 스크립트 언어 지원
    • Java이외의 동적 스크립트 언어 지원에 대한 기술적인 설명.
  3. G1 Garbage Collector에 대한 소개
    • JDK 7에 새로이 추가된 Garbage First Garbage Collector (G1)에 대한 기술적인 background 이해

댓글

  1. 더욱더 강력해진 java가 기대가 되네요ㅋ

    답글삭제
  2. 블로그 관리자가 댓글을 삭제했습니다.

    답글삭제
  3. 그렇죠? JDK 6만 해도 아주 좋은 개발 환경이었는데 JDK 7으로 한층 업그레이드 기대가 됩니다. 물론, JDK 8에서 Jigsaw와 같은 module화된 Java 개발 환경이 구축되면 이제 진짜 client에서도 Java를 더 사용할 수 있지 않을까 싶습니다.

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

Wireless: HotSpot 2.0 이란?

Apple M1 Mac Mini에서 이더리움 (Ethereum) 채굴하기

Java: Java for Game? Java가 Game 개발에 어울릴까?