Tips

知っておきたい!Javaの仕様ってどうやって決まるの?
2017.11.08

知っておきたい!Javaの仕様ってどうやって決まるの?

さて、2017年09月27日Java9がリリースされました。
2014年3月にJava8がリリースされて、はや3年。全く新しい機能について調べていない今日この頃。
2017年も残り少ないこの時期に、色々振り返ってみたい!そんな貴方に向けた記事を書いていこうと思います。

ところで、Javaの仕様はどのように決まっているのか?
という漠然とした疑問があるのではないかと思います。(ないと思いますが)

Java 関連の周辺技術標準化は JCP(Java Community Process) によって行われ、
新しい技術仕様や改訂仕様(既存技術仕様の改訂)は JSR (Java Specification Request) として提案され、
標準化に関する作業が管理されます。

では、JSR を追って行けば JDK の新機能が解るのか?
実はそれは違っていて、JDK で何かしらの新機能を加える場合、その内容は JEP (JDK Enhancement-Proposal) として管理されています。

用語

  • JSR
    Java Specification Request。Java仕様要求。つまりJavaの仕様です。
  • JCP
    Java標準化機関JCP(Java Community Process)
  • RI
    参照実装(Reference Implementation)
  • TCK
    Technology Compatibility Kit。 TCKは、JSRの特定の疑惑の実装をチェックするテストのスイート

リリースまでのステージ

  • JSRレビュー(JSR Review)
    JSRが、コミュニティのメンバーによって開始され、Executive Committee(執行委員会)によって開発が承認されます。
  • 初期ドラフトレビュー(Early Draft Review)
    JSRが承認されると、エキスパートグループは、ネットを介して誰でも確認し開発することが出来る仕様の初期草案を形成します。
  • 公開レビュー(Public Review)
    JSRをネットを介して誰もが読んで、草案にコメントすることができる、パブリックなレビューです。
    エキスパートグループは、フィードバックを受けて、さらに文書を改訂します。
  • 最終草案(Proposed Final Draft)
    RIおよびTCKの基礎として使用されるドラフト仕様のバージョンです。
  • 最終リリース(Final Release)
    エキスパートグループのリーダーは、リファレンス実装とそのTCK(関連技術の互換性キット)は、
    最終的な承認のためにExecutive Committee(執行委員会)への仕様を送信する前に完了していることをチェックしている必要があります。
  • 保守レビュー(Maintenance Review)
    完成した仕様、リファレンス実装、およびTCK(テクノロジ互換性キット)は、
    説明、解釈、拡張、および改訂に関する要求に応じて更新されます。
  • アクティブ(Active)
    直近12ヶ月以内にJCPのマイルストーンの草案を掲載しているJSRのことです。
  • 非アクティブ(Inactive)
    最終リリースをしておらず、直近12ヶ月でJCPマイルストーンのドラフトを投稿していないJSRです。
  • 休止(Dormant)
    JSRは、以下の場合に休止状態になります。

    • 非アクティブの延長期間を持っていた
    • JSRが非アクティブの延長期間の後にExecutive Committee(執行委員会)が休止として投票されたとき
    • スペックリードと保守リードが、存在しない
  • 取り下げ(Withdrawn)
    スペックリードが最終リリースを行う前にJCPから取り下げられたJSRです。
  • 拒否(Rejected)
    JSRレビュー時のExecutive Committee(執行委員会)によって否決されたJSR、ドラフトの承認、または最終承認投票用紙。

色々な状態を経てリリースされるわけですが、内容に関しては記録が残っていますので見てみるとよいでしょう。
英語ですが。。。。。読めないよ。。。。。

そんな方は、クロームの翻訳機能を使いましょう!

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search