Java言語とは何ですか

簡単に言えば、Java は、Sun Microsystems によって 1995 年に発売されたオブジェクト指向プログラミング言語です。2010 年に Oracle Corporation が Sun Microsystems を買収し、その後 Oracle Corporation が Java の保守とバージョンのアップグレードを担当しました。

実際、Java は依然としてプラットフォームです。Java プラットフォームは、Java 仮想マシン (Java 仮想マシン、JVM) と Java アプリケーション プログラミング インターフェイス (アプリケーション プログラミング インターフェイス、API) で構成されます。Java アプリケーション プログラミング インターフェイスは、オペレーティング システムに依存しない標準インターフェイスを提供します。このインターフェイスは、基本部分と拡張部分に分けることができます。Java プラットフォームをハードウェアまたはオペレーティング システム プラットフォームにインストールすると、Java アプリケーションを実行できるようになります。

Java プラットフォームは、ほぼすべてのオペレーティング システムに組み込まれています。このようにして、Java プログラムを 1 回コンパイルするだけで、さまざまなシステム上で実行できます。Java API はバージョン 1.1x からバージョン 1.2 に進化しました。一般的に使用される Java プラットフォームは Java 1.6 に基づいており、最新バージョンは Java 1.8 です。

Java の開発以来、Java を全能にしようとしてきました。世界のプログラミング言語ランキングでは、Java は近年一貫して第 1 位にランクされており、第 2 位の C 言語よりも数パーセントポイント高いです。

世界プログラミング言語ランキング

Java は適用範囲に応じて、Java SE、Java EE、Java ME の 3 つのシステムに分類できます。以下に 3 つのシステムについて簡単に説明します。

  1. Java SE
    Java SE (Java Platform Standard Edition、Java Platform Standard Edition) は、以前は J2SE として知られており、デスクトップ、サーバー、組み込み環境、およびリアルタイム環境で使用する Java アプリケーションの開発と展開を可能にします。Java SE には、Java Web サービスの開発をサポートし、Java 言語基盤、JDBC 操作、I/O 操作、ネットワーク通信、マルチスレッド テクノロジなどの Java EE の基盤を提供するクラスが含まれています。図 1 は、Java SE のアーキテクチャを示しています。

Java SE のアーキテクチャ
図 1 Java SE のアーキテクチャ (ここをクリックして元の画像を表示します)
2. Java EE
Java EE (Java Platform Enterprise Edition、Java Platform Enterprise Edition) は、以前は J2EE と呼ばれていました。Enterprise Edition は、移植可能で堅牢かつスケーラブルで安全なサーバー側 Java アプリケーションの開発と展開に役立ちます。Java EE は Java SE 上に構築されており、エンタープライズクラスのサービス指向アーキテクチャ (サービス指向アーキテクチャ、SOA) および Web 2.0 アプリケーションの実装に使用できる Web サービス、コンポーネント モデル、管理および通信 API を提供します。
3. Java ME
Java ME (Java Platform Micro Edition、Java Platform Micro Edition) は、以前は J2ME として知られ、K-JAVA とも呼ばれていました。Java ME は、携帯電話、PDA、TV セットトップ ボックス、プリンタなどのモバイル デバイスや組み込みデバイス上で実行されるアプリケーションに堅牢で柔軟な環境を提供します。

Java ME には、柔軟なユーザー インターフェイス、堅牢なセキュリティ モデル、豊富な組み込みネットワーキング プロトコル セット、および動的にダウンロードされるネットワークおよびオフライン アプリケーションのサポートが含まれています。Java ME 仕様に基づくアプリケーションは、多くのデバイスに対して一度作成することができ、各デバイスのネイティブ機能を活用できます。
Java 言語の特徴 Java 言語のスタイルは、
C 言語および C++ 言語に非常に似ています。これは純粋なオブジェクト指向言語です。C++ 言語のオブジェクト指向テクノロジのコアを継承していますが、エラーが発生しやすいポインタや多重継承などの C++ の欠点の一部が除去されています。

Java 言語は分散オブジェクト指向言語であり、オブジェクト指向、プラットフォーム非依存、単純さ、解釈と実行、マルチスレッド、セキュリティなどの多くの特徴を持っています。以下では、これらの特徴を 1 つずつ紹介します。

  1. オブジェクト指向
    Java はオブジェクト指向言語であり、オブジェクト内のクラス、オブジェクト、継承、カプセル化、ポリモーフィズム、インターフェイス、パッケージなどを適切にサポートしています。わかりやすくするために、Java はクラス間の単一継承のみをサポートしますが、インターフェースを使用して複数の継承を実現できます。Java 言語を使用してプログラムを開発するには、オブジェクト指向の考え方を使用してプログラムを設計し、コードを記述する必要があります。
  2. プラットフォームの独立性
    プラットフォームの独立性の具体的な現れは、Java が「一度書けばどこでも実行できる (Write Once, Run any Where)」言語であるため、Java 言語で書かれたプログラムは移植性が高く、これを保証するのが Java の仮想マシン機構です。仮想マシンの導入後、別のプラットフォームで実行するために Java 言語を再コンパイルする必要はありません。

Java 言語は、Java 仮想マシンのメカニズムを使用して、特定のプラットフォームの関連情報をシールドします。そのため、Java 言語によってコンパイルされたプログラムは、仮想マシン上でオブジェクト コードを生成するだけでよく、変更することなくさまざまなプラットフォームで実行できます。
3. 単純さ
Java 言語の構文は C 言語や C++ 言語に非常に似ているため、多くのプログラマーにとって習得が容易です。Java の場合、演算子のオーバーロードや多重継承など、C++ の多くの理解しにくい機能が廃止され、Java 言語はポインターを使用せず、ガベージ コレクション メカニズムを追加します。これにより、プログラマがメモリを管理する必要があるという問題が解決され、プログラミングが容易になります。
4. 解釈と実行
Java プログラムは、Java プラットフォーム上で実行するときにバイトコード ファイルにコンパイルされ、Java 環境を備えたオペレーティング システム上で実行できます。ファイルを実行すると、Java インタープリタがこれらのバイトコードを解釈して実行し、実行プロセス中に追加する必要があるクラスが接続フェーズ中にランタイム環境にロードされます。
5. マルチスレッド
Java 言語の大きな特徴でもあるマルチスレッドは、Thread クラスとそのサブクラスで作成する必要があります。Java は複数のスレッドの同時実行をサポートし、複数のスレッド間の同期メカニズムを提供します。どのスレッドにも独自の run() メソッドがあり、実行されるメソッドは run() メソッドの本体に記述されます。
6. 分散
Java 言語はインターネット アプリケーションの開発をサポートします Java の基本アプリケーション プログラミング インターフェイスにはネットワーク アプリケーション プログラミング インターフェイスがあり、URL、URLConnection、Socket などを含むネットワーク アプリケーション プログラミング用のクラス ライブラリを提供します。Java の RIM メカニズムも、分散アプリケーションを開発する重要な手段です。
7. 堅牢性
Java の強力な型メカニズム、例外処理、ガベージ コレクション メカニズムなどはすべて、Java の堅牢性を保証する重要な要素です。ポインタの破棄は Java にとって大きな前進です。さらに、Java の例外メカニズムも堅牢性の優れた具体化です。
8. 高性能
Java の高性能は主に他の高級スクリプト言語と比較したものですが、JIT (Just in Time) の発展により、Java の実行速度はますます高速になっています。
9. セキュリティ
Java は通常、ネットワーク環境で使用されます。このため、Java は悪意のあるコードによる攻撃を防ぐセキュリティ メカニズムを提供します。Java 言語の多くのセキュリティ機能に加えて、Java にはネットワーク経由でダウンロードされたクラスにセキュリティ メカニズムが追加され、同じ名前のローカル クラスが置き換えられないように異なる名前空間を割り当て、セキュリティ管理メカニズムも含まれています。

おすすめ

転載: blog.csdn.net/D0126_/article/details/131430102