プログラミング言語 Javaについて調べてみました。
Java(ジャバ)とは?意味、プログラミング言語
Javaは、狭義ではサン・マイクロシステムズが開発したプログラミング言語です。
一方、Javaは開発環境やJVM (Java Virtual Machine) と呼ばれる仮想的な実行環境を指すこともあり、広義ではJavaプログラムの実行環境です。
サン・マイクロシステムズはオラクルに買収されたので、現在はOracleによる管理の他、追加提案などはサン時代から続いているJava Community Process (JCP) というプロセスによって進められています。
Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。
Javaの特徴 (メリット)
Javaの特徴として、異なるOSで同じバイトコードがそのまま動作する
Write once, run anywhere
という言葉があります。
Javaの特徴は以下の通りです。
Javaを開発する上では、5つの目標があった。
- オブジェクト指向プログラミングの方法論を採用する
- 異なるOS上で同一のプログラムが動くようにする
- コンピュータネットワークを扱う機能を標準で備える
- 遠隔のコンピュータ上にある実行コードを安全に実行できるよう設計する
- 開発をしやすくするために、従来のSmalltalk、C++などのオブジェクト指向プログラミング言語から良い部分を引き継ぐ
ネットワーク機能および遠隔コンピュータの実行コードの実行を実現するために、場合によっては、Javaプログラマは、CORBAやInternet Communications Engine、OSGiのような拡張機能を使う。
JREとJDKの違い
JRE (Java Runtime Environment)とは
Javaの実行環境は、Java実行環境(Java Runtime Environment;JRE)と呼ばれています。
JREは実行環境です。
このソフトウェア群はJava仮想マシン (JVM) とアプリケーションプログラミングインタフェース (API) から成り立っている。APIは標準Javaクラスライブラリのセットを提供する。仮想マシンとAPIは互いに互換性がなければならず、それゆえJREとして共にバンドルされている。これは仮想マシンがプロセッサであり、APIがユーザインタフェースであるような仮想的なコンピュータと考えることができる。
デスクトップマシンではJREがなければJavaアプリケーションを動かすことができない。現在のJREのバージョンではJava Web Startも同梱されている。インストール時にMozilla Firefox、Opera、Internet ExplorerなどのウェブブラウザにJava Plug-inをインストールするか聞いてくる。これはブラウザでJavaアプレットを動かし、Java Web Start対応Javaアプリケーションを起動できるようにするために必要なものであり、単純にFlashをブラウザ上で直接実行したり、ブラウザ外部のメディアプレーヤーを起動したりといったのと同じプラグインの一種である。JREのアップデートには、旧バージョンを削除しないものがあった。複数のバージョンが混在している場合、セキュリティに問題がある旧バージョンを手動で削除するよう呼びかけている。
JREはJavaアプリケーション開発に必要なJavaコンパイラが入っているJava Development Kit(Java開発キット, JDK, Java SDK)にも同梱されている。
JDK (Java Development Kit)とは
Java の基本的な開発環境は、Java開発キット(Java Development Kit;JDK)と呼ばれます。
JDKは開発キットです。
JDKにはJREが含まれます。
Java Development Kit (JDK) は、Solaris、Linux、macOSまたはWindows上でのJava開発者向けのバイナリ形式でありオラクルによりリリースされる、Java SE、Java EEやJava MEの各プラットフォーム全ての実装である。Javaプラットフォームの導入以来、JDKは最も広く使われているソフトウェア開発キット (SDK) である。2006年11月17日に、サンはJDKをGNU General Public License (GPL) に基づきリリースすると発表した。従ってJDKはフリーソフトウェアである。このことは、サンはJDKのソースコードをOpenJDKに寄付した2007年5月8日に現実となった。
Java SE, Java EE, Java MEの違い
Java SE (旧J2SE)とは
JavaSEは標準APIになります。基礎となる標準的な機能をまとめたものです。
dhttps://docs.oracle.com/javase/jp/7/
Oracle には、Java Platform Standard Edition (Java SE) 7 を実装する製品として、Java SE Development Kit (JDK) 7 および Java SE Runtime Environment (JRE) 7 という 2 つの製品があります。
JDK 7 は JRE 7 のスーパーセットで、JRE 7 のすべての機能に加えて、アプレットやアプリケーションの開発に必要なコンパイラおよびデバッガなどのツールを備えています。JRE 7 は、Java プログラミング言語で記述されたアプレットやアプリケーションを実行するためのライブラリ、Java 仮想マシン (JVM)、その他のコンポーネントを提供します。JRE には、標準および非標準 Java コンポーネントなど、Java SE 仕様では要求されていないコンポーネントも含まれます。
次の概念図に、Oracle の Java SE 製品のコンポーネントを示します。
バージョン2から5までの表記がJ2SEで、6以降はJavaSEと表されます。
Java Platform, Standard Edition または Java SE(バージョン5.0までは Java 2 Platform, Standard Edition または J2SEと呼ばれていた)は多くのJavaプラットフォームプログラムで役立つJava APIの集合体である。
Java EE (J2EE)とは
Java EEには、Java SEのAPI以外に企業用途(Enterprise)のサーバー用の機能が追加されたAPIが含まれます。
Webサーバー対話処理のためのサーブレット関連のAPIなどがここに含まれます。
Java ME (J2ME)とは
Java MEには、情報家電や携帯端末や組み込み機器向けの機能セットとなるAPIが含まれます。
Javaのダウンロード (download)
JREのダウンロード
Javaの公式ダウンロードサイトは以下の通りです。
Javaは、マルチプラットフォーム対応です。
すべてのプラットフォームのJavaのダウンロード一覧は以下の通りです。
ここからWindows版、Mac OS X版、Linux版、Solaris版をダウンロード可能です。
JDKのダウンロード
開発を行うためのJDKは以下のサイトからダウンロードします。
英語サイトですが、Javaは問題ありません。
Javaの古いバージョンをダウンロード
最新ではなくて古いバージョンのJavaをダウンロードしたい時があります。
そんな時は、以下のサイトを参照してください。
Java 32bit か 64bit か?
JREもJDKの32ビット版と64ビット版が用意されています。
32ビット版は、Windows x86 です。
64ビット版は、Windows x64 です。
Windowsを使っている場合、自分のWindowsが32ビットか64ビットかを調べるには以下を参考にして下さい。
Java バージョン、アップデート履歴
Javaのバージョン、アップデートの履歴は以下の通りです。
JDK 1.0(1996年1月23日)
JDK 1.1(1997年2月19日)
J2SE 1.2(1998年12月8日)
J2SE 1.3(2000年5月8日)
J2SE 1.4(2002年2月6日)
J2SE 5.0(2004年9月30日)
Java SE 6(2006年12月11日)
Java SE 6 Update 10
Java SE 7(2011年7月28日)
Java SE 8(2014年3月18日)
Java SE 9 (2017年9月21日)
Java SE 10 (2018年3月20日)
Java SE 11
Java wiki
Javaに関するWikiは以下の通りです。
こちらのサイトに詳しく書かれています。
Java 初心者のための入門サイト
Javaを初心者が学ぶための入門サイトはいくつかあります。
以下にまとめました。
一番簡単なJava入門
マンガで分かるJava入門講座
初心者の方でも分かりやすい学習サイト JavaDrive
Javaを学習する本
Javaを学習するのにおすすめの本は以下の通りです。
新品価格 |
C言語、C++、C#との比較
C言語、C++、C#との比較は、次の通りです。
コメント