Javaプログラミング

ここでは、他のプログラミング言語との異なるJava特有の機能について備忘録として記録しています。

操作関連


Java文法


Javaのオブジェクト指向



Java開発環境の用語

JRE(Java Runtime Environment、Java実行環境)

JREとは、Javaのプログラムを動作させるために必要なものを揃えたソフトウェア群のことです。
具体的には、Java仮想マシンとアプリケーションプログラミングインタフェース (API) を意味します。
JREによって、Java言語で作成したプログラムは、プラットフォームに依存することなく、ランタイムがある環境ならどこでも実行することができます。

JVM(Java Virtual Machine)

JVMとは、Java仮想マシンのことで、Javaランタイム環境によって実行されるマシンです。
Javaコンパイラは、Java仮想マシン上で実行できるコードを作成し、それをJavaインタプリタが実行します。

J2SE/J2EE/Java SE/Java EE

これらはJava APIのエディションを表す用語です。
Javaはバージョン5くらいまで「Java 2」という表記をしていて、それを略して「J2XX」というエディションがありました。
2017年くらいからこの表記は廃止され、「Java XX」という表記で統一されました。

SEはスタンダード・エディション(Java Platform, Standard Edition)の略で、Javaの基本的な要素(これらがあればJavaが使えるというもの)をまとめてあるエディションです。
EEはエンタープライズ・エディション(Java Platform, Enterprise Edition)の略で、サーバサイドの拡張が図られており、「JavaSE+拡張機能」のエディションです。

JDK(Java Development Kit)

JDKとは、Javaプログラムの開発環境であり、コンパイラ・インタプリタ・ライブラリが含まれます。

JNI(Java Native Interface)

JNIとは、Java言語で開発されたプログラムから、他の言語で開発されたネイティブコード(特定のプラットフォームでそのまま実行可能なプログラム)のプログラムを利用するためのAPIとなります。
C/C++言語などで実装された既存のライブラリを利用できること、パフォーマンスを向上できるなどの利点があります。


JavaのWeb関連用語

Javaアプレット (Applet)

Javaアプレットとは、Web上で実行されるJavaプログラムです。
Webサーバからダウンロードされ、Webブラウザ上で実行されます。
※オラクル社は2017年9月22日にリリースされたJava 9でJavaアプレットを非推奨にし、Java 11では廃止することを2016年1月27日に発表しています。

Javaサーブレット (servlet)

Javaサーブレットとは、Webサーバマシンで実行されるJavaプログラムです。
PerlなどによるCGIに比べ、サーバ側の負荷が低いなどのメリットがある。
なお、サーブレットは単独では機能が不十分なので、「JSP」や「Tomcat」などの他のプログラムと連携してアプリを作ります。

JSP(Java Server Pages)

JSPは、HTMLの中にJavaプログラムを埋め込んで実行させるための仕組みです。
JSPは、クライアント(Webブラウザ)ではなく、Webサーバ側でJavaのコードが実行され、その実行結果が、HTMLとしてクライアントに転送されるようになっています。