JavaはOracle社が開発・提供するプログラミング言語の一種です。Webアプリケーションで使用される言語として最も人気を集めており、ITに馴染みの無い方でも殆どの方がその名に聞き覚えがあると思います。では皆さんはこのJavaについてどれほどの理解をしておりますでしょうか。この記事はJavaを理解するために初心者でも分かるメリット・デメリット、種類、基礎知識などを簡単に解説していきます。
JavaとはOracle社が開発・提供するオブジェクト指向のプログラミング言語です。1995年にサン・マイクロシステムズ(後にOracle社が買収)のジェームス・ゴブリン氏によって開発されリリースとなりました。プログラミング言語の発展に大きな影響をもたらしたC言語を元に開発されたことでも有名です。当時、最も人気を集めていたC言語はオブジェクト指向ではありませんでした。
Javaの登場によってオブジェクト指向が主流の時代が訪れたと言われております。
Javaのキャッチコピーは「Write once, run anywhere」で直訳すると「一度書けば、どこでも実行できる」という意味があります。このことからも分かるようにJavaの特徴は『オブジェクト指向の先駆者』で『どこでも動く』ということらが挙げられます。
世界中で最もポピュラーで多くのWebアプリケーションで採用されていることで知られております。
C言語のメリット・デメリット、基礎知識についての記事はこちら>>
Javaの読み方は『ジャヴァ』が一般的となっております。名前の由来には諸説ありますがJavaの開発に携わったメンバーが度々集まっていたのが『java coffee』というコーヒーショップであったことからインスプレーションされてつけられた名称と言われております。
また実はJavaの前に付けられていた名称が『Oak(オーク)』という名でした。しかし既に商標登録をされていた名称であったことからJavaへと名称変更したという背景があります。
Javaのメリットを見ていきましょう。
Javaはプラットフォームに依存しない自由度の高いプログラム実行環境を用意しております。JavaはJVM(Java Virtual Machine)という仮想マシンの上で動作します。このJVMがJavaプログラムを様々なプラットフォームで実行可能な形式に変換する方法をとっています。これによってWindowsやLinux、MacなどのOSやデバイスを問わずJavaを実行することが出来るのです。
Javaはコンパイラ型言語でツールを使用することでプログラム実行時は事前にコンピュータが理解するためのソースへと変換するため、高速な動作を実現できるというメリットがあります。数あるプログラミング言語の中でもその処理速度は早いことで有名です。
Javaは世界中で利用されており多数の実績があることから活用におけるノウハウが数多く存在することがメリットとして挙げられます。ノウハウが多く存在することでJavaの利用
をより効率的に行うことが出来ます。
Javaでは無数のAPIが用意されており、プログラムの本質的な問題に集中できるというメリットが挙げられます。利用頻度の高い『日付処理』や『データベース処理』などの機能がある場合にAPIを利用することによって、アプリケーション単位でプログラムを一から作成する必要がなくなります。APIが多く存在することで開発や機能追加を効率的に実施出来ます。
APIの意味や利用目的についての記事はこちら>>
JavaはC言語やC++をモデルにしセキュリティを重視したオブジェクト指向言語として開発されたプログラミング言語です。オブジェクト指向の仕組みを理解してプログラムの実装を行えば1段も2段もセキュリティレベルを強めることが出来ます。
Javaのデメリットを見ていきましょう。
Javaはオブジェクト指向の代表的なプログラミング言語です。これらのオブジェクト指向言語は習得が容易ではないと言われております。オブジェクト指向とは『概念』であるため、曖昧な表現が採用されることが多いため、答えや説明がモノによって様々という場面が多々見られます。これにより自らが正しいと思った答えも度々惑わされることが多く確認も難しいことから理解をすることが難しいモノとして煙たがられております。
JavaはJVMが動作する、ある程度リッチ環境でなければ利用できません。コンピュータの中にはJVMに非対応のプラットフォームが存在し、その場合にはJVM上でしか動かすことの出来ないJavaは利用することができません。
Javaの種類を見ていきましょう。
JDK(ジェイディーケー)とはJavaにおいてソフトウェア開発を行う際に必要なソフトウェアなどの環境を一つにまとめたパッケージのことです。Java Development Kitの頭文字を取った略称となっております。JDKはJavaを開発しているOracle社が無料で提供しております。JDKに用意される主な環境としてコンパイラやデバッガ等が挙げられます。JDKをインストールすることで Javaを使ったアプリケーションの作成や作成したアプリケーションの実行まで一通り行うことができます。
JRE(ジェイアールイー)とはJavaアプリケーションを実行するために必要なソフトウェアです。Java Runtime Environmentの略称となっております。JDKはJavaを開発しているOracle社がOSごとに対応する様々なバージョンを提供しております。JREはJVM(Java仮想マシン)とAPI(アプリケーションプログラミングインターフェース)から構成されております。JREをインストールすることでJavaプログラムを様々なプラットフォームで解釈できるネイティブコードに変換し、Javaアプリケーションを実行することが可能となります。
JVM(ジェイブイエム)とはJavaプログラムを実行するために必要なソフトウェアです。Java Virtual Machineの頭文字を取った略称となっております。日本語訳をすると『Java仮想マシン』となります。Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシンのことです。JVMには大きく分けてNEW領域、OLD領域、Permanent領域の3つが存在します。JavaはJVMが動作する環境でしか利用することができません。
Java SE(ジャヴァエスイー)とはJavaプラットフォームプログラムで役立つ基本機能をパッケージ化したものでありJava言語使用やJava APIの集合体です。正式名称はJava Standard Editionなっております。Java SEを利用することで、デスクトップやサーバーでJavaアプリケーションの開発、デプロイができます。このようにJavaでプログラミングを行う際に最低限必要な機能が提供されます。
JavaSEの公式ページはこちら>>
Java EE(ジャヴァイーイー)とはJavaで実装されたアプリケーションサーバーの標準規格及びそのAPIを定め企業向けにWebアプリケーション開発用としてパッケージ化されたものです。正式名称はJava Platform, Enterprise Editionとなっております。JavaでWebアプリケーションを開発する際に必要不可欠なのがJava EEです。
JavaEEの公式ページはこちら>>
Java ME(ジャヴァエムイー)とはは携帯電話、テレビのようなモバイルおよび組み込みデバイスなどのリソースが制限されたデバイス環境で実行するJavaアプリケーションの小型セットです。正式名称はJava Micro Editionです。Java MEテクノロジーは、小型デバイス向けのアプリケーションの構築に付随する制約に対処するために作成されました。そのような制限環境に合わせて定義し、メモリ、ディスプレイ、電源容量の限られた小型デバイスで実行する Java アプリケーションを作成できるようにしています。
JavaMEの公式ページはこちら>>
変数では主に宣言、代入、参照を覚えておく必要があります。
データ型では整数型、浮動小数点型、その他(char、boolean)を覚えておく必要があります。
変数型 | デフォルト値 | サイズ | 範囲 |
byte | 0 | 8bit | -128 ~ 127 |
short | 0 | 16bit | -32768 ~ 32767 |
int | 0 | 32bit | -2147483648 ~ 2147483647 |
long | 0 | 64bit | -9223372036854775808 ~ 9223372036854775807 |
浮動小数点型 | デフォルト値 | サイズ | 範囲 |
float | 0.0 | 32bit | 約(-)3.40282347E+38(約6~7桁の精度) |
double | 0.0 | 64bit | (-)1.79769313486231570E+388(15桁の精度) |
その他の型 | デフォルト値 | サイズ | 範囲 |
char | \u0000 | 16bit | \u0000 ~ \uFFFF |
boolean | false | 1bit | true、false |
演算子では算術演算子、比較演算子、代入演算子、インクリメント・デクリメント演算子、条件演算子、シフト演算子を覚えておく必要があります。
演算子の種類 | 記号 |
算術演算子 | +, -, *, /, % |
比較演算子 | >, >=, <, <=, ==, != |
代入演算子 | =, +=, -=, *=, /=, %= |
インクリメント・デクリメント演算子 | ++, –- |
条件演算子 | &, |, ^, !, ||, && |
シフト演算子 | <<, >> |
制御文ではwhile文、if文、break文を覚えておく必要があります。
Javaの代表的なフレームワークを見ていきましょう。
StrutsとはJavaに活用されるクレイグ・マクラナハン (Craig McClanahan)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高く、MVCと呼ばれるソフトウェア設計モデルが採用されております。主なStritsの種類(バージョン)としてStruts、Struts2が挙げられます。
Strutsの公式サイトはこちら>>
Strutsの歴史、特徴、基礎知識の解説された記事はこちら>>
SpringとはJavaに活用されるロッド・ジョンソン(Rod Johnson)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中でも長い歴史を持ち、世界中のシステム開発に利用されております。主なSpringの種類としてSpringBoot、SpringDate、SpringSecurityなどが挙げられます。
Springの公式サイトはこちら>>
Springの歴史、特徴、基礎知識の解説された記事はこちら>>
JSF(Java Server Faces)とは、Javaに活用されるOracle社によって開発されたWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。JSFの仕様はJavaEEJava EE(Java Platform, Enterprise Edition)の一部として取り込まれています。
JSFの公式サイトはこちら>>
JSFの歴史、特徴、基礎知識の解説された記事はこちら>>