工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java徹底解説:定義、特徴、プラットフォーム概要、バージョン履歴

Javaとは

Javaは、汎用性、クラスベース、オブジェクト指向を備え、移植性、速度、セキュリティを重視したプログラミング言語です。モバイルアプリ、エンタープライズサーバー、科学技術用スーパーコンピュータ、ゲームコンソールなど幅広いアプリケーションを、事実上あらゆるハードウェアプラットフォーム上で駆動します。

Javaプラットフォームとは

Javaプラットフォームは、開発者がJavaアプリケーションを効率的に書き、コンパイル、実行できるよう包括的なツールとライブラリのセットです。Java Development Kit(JDK)、Java Virtual Machine(JVM)、Java Runtime Environment(JRE)で構成されます。ジェームズ・ゴスリンがサン・マイクロシステムズで考案し、後にオラクルが買収しました。

Javaの定義と意義

Javaはマルチプラットフォーム、ネットワーク中心の言語であり、オブジェクト指向設計の力と堅牢なセキュリティ機能を融合しています。スケーラブルで安全、高性能なアプリケーション構築に最も広く採用されている言語の一つです。

Javaの用途

Javaの歴史

Javaバージョン履歴

Javaバージョンリリース日
JDK Alpha & Beta1995
JDK 1.01996年1月23日
JDK 1.11997年2月19日
J2SE 1.21998年12月8日
J2SE 1.32000年5月8日
J2SE 1.42002年2月6日
J2SE 5.02004年9月30日
Java SE 62006年12月11日
Java SE 72011年7月28日
Java SE 82014年3月18日
Java SE 92017年9月21日
Java SE 102018年3月20日
Java SE 112018年9月25日
Java SE 122019年3月19日
Java SE 132019年9月17日
Java SE 142020年3月17日
Java SE 152020年9月15日(最新)

Javaの主な特徴

Java言語コンポーネント

Javaプログラムは人間可読なソースコードから始まり、Javaコンパイラによって機械実行可能なバイトコードに変換されます。

Java Development Kit (JDK)

JDKはJavaアプリケーション開発に必要なすべてのツール(コンパイラ、デバッガ、ランチャー、JRE)を提供。Windows、macOS、Linux、Solarisで利用可能で、複数バージョンを同一マシンで共存させられます。

Java Virtual Machine (JVM)

JVMはJavaバイトコードを実行時にネイティブ機械語に翻訳して実行します。Just-In-Time(JIT)コンパイラによりクロスプラットフォームで高性能を実現。

Java Runtime Environment (JRE)

Javaアプリケーション実行のみ必要なエンドユーザー向けに、JDKに含まれる開発ツールを除いたクラスライブラリとJVMを提供。

Javaプラットフォームの種類

  1. Java SE (Standard Edition) — デスクトップ/サーバーアプリ、ネットワーク、GUI、XMLパース用コアAPI
  2. Java EE (Enterprise Edition) — 大規模マルチティアエンタープライズソリューション向け高度API
  3. Java ME (Micro Edition) — モバイル・組み込みデバイス向け軽量VM
  4. JavaFX — ハードウェアアクセラレーション対応のリッチインターネットアプリ向けモダンUIツールキット

Java Virtual Machineの仕組み

  1. Javaコードを記述(例:System.out.println(1+2);)、Example.javaとして保存
  2. javac Example.javaでバイトコードにコンパイル、Example.class生成
  3. クラスファイルをJVMにロード
  4. OSメモリ上のJVMがホストプラットフォームを特定し、バイトコードをネイティブ機械語に変換して実行

なぜJavaはプラットフォーム非依存なのか

Javaコンパイラはプラットフォーム非依存のバイトコードを出力し、あらゆるJVMが解釈可能。単一ソースコードベースでWindows、macOS、Linux、Android等でシームレスに動作します。

まとめ

Java

  1. プロキシサーバー完全ガイド:定義、仕組み、メリット・デメリット、VPNとの違い
  2. 粉末冶金完全解説:定義、プロセス、メリット、用途、FAQ
  3. 溶接完全ガイド:定義、種類、仕組み、用途、FAQ
  4. ドリル盤(ボール盤)完全ガイド:定義、構成部品、種類、使い方
  5. シェイパー(整形盤)とは:定義、構成部品、動作原理を徹底解説
  6. 電子ビーム溶接(EBW)とは?原理、工程、メリットを徹底解説
  7. 金属めっきとは?種類、メリット、用途を徹底解説
  8. Java インターフェース vs 抽象クラス:適切な抽象化の選び方
  9. Java コンストラクタオーバーロード完全解説:実践コード例付き
  10. Java 10で削除された非推奨API・機能・オプション一覧
  11. JDK 10で非推奨となったAPI・機能・オプション:削除予定項目