はじめに
株式会社インプルの奈良です。
この度Javaを用いる案件にアサインすることになったため、Javaについて自己学習した内容を備忘録としていくつか投稿していきます。
今回は、①Javaの3つのエディション、②JDKについて解説します。
Javaについて0から学んでいくため、プログラミング初学者の方の参考になれば幸いです。
Javaのエディションについて
Javaは、様々な環境での開発に対応するために、さまざまなエディションが存在します。それぞれのエディションは、特定のタイプの開発に最適化されています。以下に主要な3つのJavaエディションについて説明します。
Java Standard Edition (Java SE)とは
Java SEは、Javaの基本となるエディションであり、後述する他のエディションの基盤にもなっています。
Java言語のコアAPIを提供し、オブジェクト指向プログラミング、ネットワーキング、セキュリティ、データベースアクセス、グラフィカルユーザーインターフェイス(GUI)開発、XML解析などを含む一連の機能をサポートしています。
要は、PCで動作する一般的なスタンドアロンアプリケーションであれば、基本的にはこのエディションで開発することになります。
Java Enterprise Edition (Java EE)とは
Java EEは、サーバーサイドのWebアプリケーションを構築するためのエディションになります。
Java SEの機能に加えて、サーバーサイドの開発、複数層アーキテクチャ、トランザクション管理、セキュリティ、システム間のメッセージングなど、エンタープライズレベルの要件を満たす機能を提供しています。
Java Micro Edition (Java ME)とは
Java MEは、携帯電話やモバイルデバイス向けのJavaエディションであり、リソースが限られた環境での開発に最適化されています。
Java Development Kit(JDK)について
Java Development Kit(JDK)は、Javaプログラミング言語でアプリケーションを開発するためのソフトウェア開発環境です。JDKは主に以下のコンポーネントで構成されています。
- Javaコンパイラ(javac):Javaソースコードをバイトコード(.classファイル)にコンパイルするツールです。Javaコンパイラが出力するバイトコードはJava仮想マシン(JVM)上で実行されます。
- Java仮想マシン(JVM):Javaバイトコードを実行するプラットフォーム依存の実行環境です。JVMの存在により、Javaは「一度書けばどこでも動作する(Write Once, Run Anywhere)」という特性を持っています。
- Javaランタイム環境(JRE):Javaバイトコードを実行するための環境で、JVMとコアクラスライブラリ(java.lang、java.net、java.utilなど)を含んでいます。
- Java APIライブラリ:Javaプログラミング言語のコア機能を提供する一連のクラスとインターフェイスです。
- 開発ツール:JDKにはJava開発者のための多くのユーティリティが含まれています。これらには、デバッガ(jdb)、Javaドキュメンテーション生成ツール(javadoc)、Javaアーカイブツール(jar)などが含まれます。
JDKは各バージョンのJavaで更新され、新しい言語機能、API、性能改善が追加されます。また、OpenJDKと呼ばれるオープンソースのJDKも存在し、Java SEのリファレンス実装となっています。
さいごに
今回は、①Javaの3つのエディション、②JDKについて解説しました。
次回は、①低級言語と高級言語、②コンパイラとインプリンタについて解説します。