Javaは、サンマイクロシステムズ社/Sun Microsystems(米)のJames Arthur Gosling氏率いるチームが開発したオープンソースのオブジェクト指向プログラミング言語でJavaにはJava Servlet/JSP/JavaFXなどがあり、他方、Javaアプリケーションをブラウザ上で実行する技術やそのプログラムをJava Appletと呼びますが、Netscapeが開発したブラウザ用簡易script/スクリプト言語JavaScriptとは直接関係はありません。
機能 | 主な用途 |
---|---|
Java | オブジェクト指向のプログラミング言語 |
Java Servlet | サーバサイドプログラミング |
JSP/Java Server Pages | HTML/XHTML埋め込み型スクリプト |
Java Applet | JavaアプリのHTML/XHTMLタグによる埋め込み |
JavaFX | RIA/Rich Internet Application |
Javaはオブジェクト指向のプログラミング言語、ServletはJava EEに含まれる仕様でWebサービス・サーバサイドプログラミング用途、JSPはWebサーバ経由のCGI用途、Java Appletはブラウザ上で実行する為の静止画/動画/アニメ/ゲームなどJavaアプリケーションのHTML/XHTMLタグによる埋め込み用途、JavaFXはWebに華を添えるRIA/Rich Internet Applicationの1つです。
尚、Java Servletは、メモリ上に常駐してスレッドを起動することで実行され、プロセスを起動するCGIよりも効率が良く、処理が早いと云われており、一般にJSPと併用されます。
Javaには、法人業務システムなど大規模用途(EE/エンタープライズエディション)、デスクトップアプリケーションやCGIなど中小規模~個人用途(SE/スタンダードエディション)、情報家電などの組み込み・ケータイ、PDAなどのモバイル用途(ME/マイクロエディション)といった用途に応じた開発環境があります。
通称・略記 | 開発環境 |
---|---|
EE | Enterprise Edition |
SE | Standard Edition |
ME | Micro Edition |
尚、プログラミング言語JavaとJava実行環境などの環境を含めてJava、またはJava Platformと呼ぶ場合もあり、Java PlatformというフレーズはJavaのバージョン表記としても使われています。
これらも踏まえて必要に応じたJavaを選択してインストールとインストール確認をします。
Javaには、予め各種機能を備えたクラス(JFC/Java Foundation Classes)の概念があり、Java SEではJavaBeans、Java EEではEJB/Enterprise JavaBeansによってこのクラスを継承したインスタンスを作成、更にプログラマが独自に機能拡張する事ができ、インスタンス化に際し、クラス内コンストラクタによってインスタンスが初期化され、オブジェクトを破棄する際には、メモリの開放などを行い、再利用可能な状態にする為のデストラクタというメソッドが用意されています。
更にC/C++と違ってJavaは、メモリの開放を行ってくれるガベージ・コレクション(GC/Garbage Collection)があり、これは良くも悪くもJava(がと言うより、JVM)が自動的にタイミングを見てメモリを開放してくれる機能です。
JVMとはJava VMともにJava Virtual Machineの通称でJavaとOSやハードウェアなどの環境を仲介する為に存在するものです。
JavaプログラムにおいてJavaで書いたソース(拡張子.java)をコンパイルした時点では、JVMが解釈できるバイトコードという中間コードに翻訳(拡張子.class)、それをJVMに渡し、実行時にJVMがハードウェアやOSに適した機械語に翻訳する手法である為、JVMさえ対応(予め適切なJVMをインストール)していれば、Java自体はプラットフォームに依存せずに利用できるようになっています。