これらの2つの用語の間に実質的な違いはありますか?JDKは、SDK(Software Development Kit)のサブセットであるJava DevelopmentKitの略であることを理解しています。ただし、Java SDKを指定すると、JDKと同じ意味になります。
これらの2つの用語の間に実質的な違いはありますか?JDKは、SDK(Software Development Kit)のサブセットであるJava DevelopmentKitの略であることを理解しています。ただし、Java SDKを指定すると、JDKと同じ意味になります。
回答:
このウィキペディアのエントリから:
JDKは、一般的な意味でソフトウェア開発キット(SDK)として大まかに定義されているもののサブセットです。Sunは、Java SE、EE、およびMEの最近のリリースに付随する説明の中で、それらの用語の下で、JDKがJavaプログラムの作成と実行を担当するSDKのサブセットを形成することを認めています。SDKの残りの部分は、アプリケーションサーバー、デバッガー、ドキュメントなどの追加のソフトウェアで構成されています。
「追加のソフトウェア」は、Glassfish、MySQL、およびNetBeansのようです。このページでは、Java EESDK用に入手できるさまざまなパッケージの比較を示します。
はい、SDKとJDKには違いがあります。ほとんどの人は、JavaプラットフォームがJava言語でプログラムを開発するためだけに使用されているのではないことを忘れています。JVMは他のいくつかの言語もサポートしています。したがって、SDKは、Clojure、Groovy、Scala、JRubyなどのさまざまな言語でのソフトウェア作成をサポートするソフトウェアの汎用バンドルです。JDKは、Java言語でソフトウェアを開発するための特定のバンドルであり、そのためのすべてのJava標準APIが含まれています。(私は実際には英語を話さないので、私はそれをうまく説明したと思います)
JDKはJava用のSDKです。
SDKは「ソフトウェア開発キット」の略で、コードをより簡単、効果的、効率的に記述できるようにする開発者ツールです。SDKはさまざまな言語に対応しています。これらは、プログラマーの作業を容易にする多くのAPI(アプリケーションプログラミングインターフェイス)を提供します。
SDK for Javaは、Java DevelopmentKitであるJDKと呼ばれます。つまり、SDK for Javaと言うことで、実際にはJDKを指していることになります。
あなたがJavaに不慣れであると仮定すると、あなたが出くわす別の用語があります-JRE、Javaランタイム環境の頭字語。JREは、Javaで記述されたソフトウェアプログラムを実行しようとするときに必要なものです。
Javaはプラットフォームに依存しない言語です。JREは、JVM(Java仮想マシン)を実行します。これにより、JVMが使用可能な任意のプラットフォームでソフトウェアを実行できます。
Sunは、明白な理由もなく、名前を変更するのが好きです。SunOS / Solarisの3つの異なる番号付けスキーム、またはJavaの2つの番号付けスキームを見てください。Java 1.6、Java 2バージョン6、またはJava 6ですか?
JDK(Java Development Kit)はSDK(Software Dev Kit)です。
これは、Javaでソフトウェア/アプリケーションを構築するために使用され、もちろん、そのソフトウェアを実行するためのJRE(Java Runtime Edition)が含まれています。Javaアプリケーションを実行するだけの場合は、JREのみをダウンロードしてください。
ちなみに、Java EE(Enterprise Edition)には、WEB環境向けのアプリを構築するための「メソッド(関数)付き」クラスのパッケージとモバイルデバイス向けのJava ME(Micro Edition)のライブラリが含まれています。興味のある方は(Java ME)、GoogleのAndroidDevKitとAPIをご覧になることをお勧めします。
ここを見てみましょう:それはより多くのビットを説明するつもりだ... http://www.oracle.com/technetwork/java/archive-139210.html
JDKには、Javaプログラムの開発と実行に使用されるツールのコレクションが付属しています。
それらが含まれます:
appletviewer(Javaアプレットを表示するため)
javac(Javaコンパイラ)
java(Javaインタープリター)
javap(Javaディスアセンブラ)
javah(Cヘッダーファイル用)
javadoc(HTMLドキュメントの作成用)
jdb(Javaデバッガー)
一方、SDKには、JDKで使用可能なツールを含む他の多くのツールが付属しています。
JDKとJavaSDKに違いはありません。どちらも同じ意味です。JDKからJavaSDKに切り替えることはSunでのPRの決定だったと思います。今のところ、JDKに戻っていると思います。
私の見解では、JavaのJDKとSDKの間に違いはありません。すべての開発ツールとその両方の機能を見つけることができます。これは、sunによって提供される単なるエイリアスです。
私の最初の推測では、Java SDKはJVMを構築するためのものであり、JDKはJVM用のアプリを構築するためのものです。
編集:これは現時点では正しくないようですが。SunはJVMをオープンソーシングしている最中なので(おそらく、今は終了しているかもしれません)、私の答えが正しければ、それほど驚かないでしょう...しかし、現時点では、SDKとJDKは同じものです。
JavaSEとJavaEEの2つの製品があります。EEは、Webアプリケーションの開発と実行を可能にするWebアプリケーション/エンタープライズエディションです。SEは、EEの詳細が含まれていないプレーンなJava製品ですが、EEのサブセットです。SEには、JDKとJREの2つのタイプがあります。
明らかではないかもしれない大きな違いが1つあり、それがすべてのオペレーティングシステムに適用されるかどうかはわかりませんが、WindowsではJREにはサーバーHotSpot JVMがなく、クライアント1つだけ、JDKには両方があります。私は他のすべてのOSがJDKとJREの両方を持っていることを知っています。本当の違いは、JDKにはJavaコンパイラが含まれていることです。つまり、JDKではソースコードからJavaをコンパイルして実行できますが、JREではJavaバイトコード、つまりすでにコンパイル済みのソースのみを実行できます。はい、新しいバージョンには、NetBeansエディタ環境やJava in memoryデータベース(derby / cloudscape)など、いくつかの追加コンポーネントがバンドルされていますが、これらはオプションです。