Java
■カテゴリ / ■テンプレート
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。
プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。Javaプラットフォームは、Javaプログラムの実行環境または、実行環境と開発環境の双方を統合したソフトウェアであり、ビジネスサーバ、モバイル機器、組み込みシステム、スマートカードといった様々なハードウェア環境に対応したソフトウェア形態で提供されている。
Javaプログラム構文は、C++によく似たものである。オブジェクト指向言語の一面が強調されがちだが、C言語のような手続き型言語としてもプログラミングできる。Javaはオブジェクト指向パラダイムをそれほど強制しない。
Javaは、同時にマルチパラダイム言語でもある。JDK 1.1でJavaBeans/JavaRMI/CORBAによるコンポーネントプログラミングと、リフレクションAPIによるメタプログラミングが備えられた。J2SE 5.0でジェネリクス構文/APIによるジェネリックプログラミングが追加された。Java SE 7で並行APIによる並行プログラミングが追加された。Java SE 8ではラムダ式/関数型インターフェース/ストリームAPIなどによる関数型プログラミングが追加された。2014年(Java 8)以降の関数型とジェネリクスを多用しているJavaプログラムは、それ以前のJavaプログラムから大きく様変わりしている。
Javaプラットフォーム (Java Platform) は、Javaプログラムを開発または実行する為のソフトウェア群の総称である。Javaプラットフォームは対象環境に合わせて、Java実行環境およびJava開発環境の構成内容と、Javaテクノロジの追加内容を変えたエディションに編集されて公開されている。Javaテクノロジは権利元ベンダーだけでなくサードパーティー側からも提供されており、その標準化はJavaコミュニティプロセス (JCP) が管理している。Java実行環境とJava開発環境はオープンソース化されているので各企業、各団体、開発者各自が営利または非営利で様々なソフトウェアと関連技術を公開しており、巨大なITエコシステムを構築している。