(すでにOracleが買収)、最も早い日のJava ジェームズ・ゴスリンもともとオークと命名された1990年代初頭に、最後の世紀に開発されたプログラミング言語では、目標は、小型家電製品の組み込みアプリケーションのために、市場は結果を欠いています反響。補修インターネットの台頭、オークが活力をリニューアルさせ、その会社SUNオーク、1995年にリリースされたJava名の変換、オークが登録されているので、そうするJava SUN登録商標。インターネットの急速な発展に伴い、Javaは最も重要なネットワークプログラミング言語となっています。
コンパイル言語と解釈された言語間のJava。例えばC、C ++のようなコンパイルされた言語は、コードを直接実行するマシンコードにコンパイルされ、異なるプラットフォーム(x86の、ARMなど)CPU命令は、異なる設定、したがって、プラットフォームのそれぞれに対応するマシンコードをコンパイルする必要があります。Pythonなどのインタプリタ型言語は、Rubyはこの問題を持っていない、ソースコードを直接インタプリタによってロードして実行することができ、作業効率のコストが低すぎます。Javaコードは、その後、異なるプラットフォーム用の仮想マシンを準備するために、抽象CPU命令に似ている「バイトコード」にコンパイルされ、仮想マシンの異なるプラットフォームは、このように「一回を達成し、ロードするバイトコードに責任があると実行します準備は、「どこでも効果を実行しています。もちろん、これは、関連するJava開発者のためのものです。仮想マシンでは、プラットフォームごとに別々に開発する必要があります。その異なるプラットフォームを確保するために、異なる企業は、仮想マシンが正しくJavaバイトコードを実行することができます開発し、SUN会社は、Java仮想マシン仕様のシリーズを開発しました。実用的な観点からは、JVMは、JVMの通常の高いバージョンで実行することができ、Javaバイトコードの低いバージョンを非常に良好な相溶性を行っています。
ジャワの発展に伴い、SUN Javaと三つの異なるバージョンを分離します
Java SEの:標準版 のJava EE:Enterprise Editionの JavaのME:マイクロエディション
これら三つの関係について教えてください
簡単に言えば、Jave SEは、Java SEのAPIに基づいており、Webアプリケーション、データベースの開発を容易にするために、ライブラリを多数追加され、標準JVMと標準ライブラリ、およびJava EE Enterprise Editionを含む、標準バージョン、です、メッセージングサービス、仮想マシンを使用してJave EEアプリケーションと同じJava SEの。
JavaのMEとJava SE異なる上、それは「スリム化」組み込み機器のため、Java SEの標準ライブラリは、Java ME上で使用することはできませんが、JavaのME仮想マシンである「薄いバージョン。」
間違いありません、Java SEのは、コアJavaプラットフォームであり、Java EEおよびWebアプリケーションでは、さらなる研究のために必要です。私たちは、Springフレームワークと他のオープンソースのJava EEに精通している生態系の一部です。残念ながら、私は本当に上のキャッチはありませんでしたが、Androidの開発は、それゆえ、特別なニーズのモバイルプラットフォームになるための基準の一つではないのJavaはJava MEを学ぶお勧めしません。
用語集
JDK、JRE
JDK:Javaの開発キットの JRE:Javaランタイム環境
簡単に言えば、JREは、Java仮想マシンのバイトコードを実行することです。JDKに加えて、コンパイラ、デバッガ、およびその他の開発ツールを提供し、JREが含まれているのでしかし、Javaバイトコードにコンパイルする唯一のJavaソースコードならば、それは、JDKが必要です。
次のように両者の関係があります
Java開発を学ぶためには、もちろん、あなたはJDKをインストールする必要があります。
JSR、JCP
JSR仕様:Javaの仕様要求 JCP組織:Javaのコミュニティプロセス
規制Java言語を確保するために、SUN会社はJSRの仕様に従事する、したい人は、あなたが最初に、良いインタフェースを定義するJSRの仕様を作成する必要があり、このようなデータベースにアクセスする機能として、Javaプラットフォームの機能を追加することにより、さまざまなデータベース・ベンダーJavaドライバを書くの仕様に合わせて、開発者は、PostgreSQLには実行されませんが、実行することができますMySQLデータベース上でコードを書くことを心配する必要はありません。
したがって、JSRは、すべての標準化され、WebにJVMメモリ・モデル・プログラム・インタフェースからの仕様のセットです。組織は、JSR JCPを監査する責任があります。
あなたはJSRの仕様を公開すると、誰もが参照を持つことができるようにするために、それはまた、「リファレンス実装」、および「互換性テスト・スイート」を公開します:
RI:リファレンス実装の TCK:テクノロジー互換性キット
例えば、それはよくああ、ニュースサーバーベースのJava開発では、この提案に係合するように提案されたが、この提案は、RIあるコードを実行し、実際に投稿している、そこに十分な光ではありません。このようなメッセージサーバを開発したい、他の人がいる場合は、どのように開発者インタフェースのためのメッセージサーバは、機能が同じであることを確認するには?だから我々は、TCKを提供しています。
一般的には単に「実行」正しいコードは、RIを言えば、それは、スピードの追求ではありませんので、あなたが本当にJavaのメッセージサーバ、RIと通常は1を選択したい場合は、我々は競争力のコマーシャルを選択しますまたはオープンソース製品。