web-dev-qa-db-ja.com

JLS、JSR、JEPの違い(または関係)は何ですか?

これらの3つの違い(または関係)は何ですか?

20
simpleDev

一部の人々はそれが単に言葉が何を意味するかの問題であると考えています。それ以外にもあると思いますが、まずは言葉から始めましょう。

一般的なコンテキストでは:

  • 指定指定(または定義)するドキュメントです。
  • requestは、何かを求めるステートメント(書面または口頭)です。
  • proposalは、考慮すべき何かを提案する(書面または口頭)のステートメントです。

ご覧のとおり、これらの単語の単純な英語の意味自体は実際には役に立ちません。もっとコンテキストが必要です。この場合、コンテキストはリンクしたページにあります。

"Java言語仕様"(JLS)これはJava言語の仕様です。 JLSは、Javaプログラミング言語の構文と、有効なJavaプログラムとは何かを示すその他のルールを指定します。また、プログラムの意味も指定します。つまり、(有効な)プログラムを実行するとどうなりますか。

"Java Specification Request"(JSR)。 JSRは、Javaコミュニティプロセス(JCP)の一部として作成されたドキュメントで、チームが新しい仕様を開発するための範囲を設定しています。これらの仕様は(AFAIK)常にJavaに関連していますが、コアJava SEまたはJava EEテクノロジーにはならないことを頻繁に扱っています。典型的なJSRの主題は比較的成熟した技術です。つまり、その状態はspecifiedになる可能性があります。 (仕様を早めに作成しようとすると、通常は仕様が悪くなります。他の事柄も原因となる可能性があります。)

"Java Enhancement Proposal"(JEP)。 JEPは、Javaコアテクノロジーの拡張を提案するドキュメントです。これらは通常、まだ指定する準備が整っていない拡張機能に対する提案です。 JEP-0文書に記載されているように、JEP mayは、斬新な(「奇抜」でさえある)アイデアの探求を求めています。一般的に言えば、プロトタイピングは、実行可能なアイデアと実行不可能なアイデアを分離し、仕様を作成できるところまで明確にするために必要です。

したがって、JEP、JSR、仕様の関係は次のようになります。

  1. JEPはcouldが指定されるまで、実験的なアイデアを提案および開発します。すべてのJEPが実現するわけではありません。

  2. JSRは成熟したアイデア(JEPの結果など)を取り入れ、新しい仕様または既存の仕様への変更を作成します。すべてのJSRが実現するわけではありません。

  3. 仕様は、JSRの一般的な作業成果物です。 (その他には、インターフェースのソースコード、参照実装が含まれます。)JLSは、仕様のexampleです。その他には、JVM仕様、サーブレットおよびJSP仕様、EJB仕様などが含まれます。

26
Stephen C