Javaの実行環境
JavaはOSの差異を吸収する(LinuxでもWindowsでも同じように動作させる)ため、プログラムとOSの間に緩衝地帯を設けた。これがJava仮想マシン(JVM:Java Virtual Machine)。Javaで作成したソースコードはJVMが解釈可能な形でコンパイルされる。
なのでプログラムが直接OSと関わるのではなく、JVMがOSとのやり取りを行う。
Javaの構成
JVMを含め、Javaで記述したプログラムを実行するために必要なものをまとめたセットがJRE(Java実行環境、Javaランタイムとか呼ばれてもいる)。JREをインストールすることで実行環境を整えることができる。
作成されたJavaプログラムを動かすだけならJREで足りるのだけど、Javaプログラムを開発するためにはJREでは足りない。
開発するためにはJDKをインストールする。JDKにはJREの他に、コンパイラやデバッガなど開発のために必要なプログラムが入っている。
Javaの開発環境構築
JDKをインストールして設定することで開発は行えるけど、効率化の為に統合開発環境(IDE:Integrated Development Environmen)も用意する。IDEはコンパイル、ビルド、デバッグ、入力補完など便利な機能を直感的に操作することができるため便利。
今回はEclipseを利用する。日本語化を行ったりJDKのインストールだったりを自動で行ってくれる Pleiades All in One(Full Edition) というパッケージをインストールした。
Pleiades All in Oneをインストールすると以下のようなフォルダ構成になっていた。
..\pleiades\
├ .metadata.default …eclipseやtomcatの設定ファイル
├ eclipse …eclipse
├ java …JDK
└ tomcat …サーブレットコンテナ
Javaとtomcatはバージョンごとに入ってた。 Eclipseの中を見るとJREも入ってたけどこれは何だろう。Eclipseが使用するデフォルトのJavaは..\pleiades\java\から最新バージョンのものが指定されていたので、eclipse内に入っていたJREは使ってないか、あるいはEclipseを実行する為に使用されているのでしょうかね。
少し脇道にそれるけど、Pleiades all in oneをインストールしたらSTS(Spring Tool Suit)も同封されていた。 STSというのはjavaのフレームワークであるSpring Frameworkを使用する為の統合開発環境。Eclipseをベースとしたパッケージなので、Eclipseを使う場合でもプラグインとしてSTSの機能を持たせることができるらしい。今回は使用しないので詳細は割愛。
Hello World
プロジェクト、パッケージ、クラスを順に作成したらクラス内に以下のコードを書く。
public class HelloWorld { // 以下のように記述されるmainメソッドは特別なメソッド。 // Javaは実行したクラスからmainメソッドを探して実行する。 public static void main(String[] args) { // 「Hello World!」をコンソールに出力する。 System.out.println("Hello world!"); } }
クラスを指定して実行すると、「Hello World!」と出力された。