Java は、高レベルのオブジェクト指向、クラスベース、同時実行、安全な汎用コンピュータ プログラミング言語であり、広く使用されている強力なテクノロジです。
Java とは何ですか?
Java はオブジェクト指向プログラミング言語であり、C 言語のさまざまな利点を吸収するだけでなく、C 言語では理解しにくい多重継承やポインタなどの概念を放棄しています。 C. したがって、Java 言語は強力で使いやすい言語です。静的オブジェクト指向プログラミング言語の代表である Java 言語は、オブジェクト指向理論を完全に実装しており、プログラマーが洗練された考え方で複雑なプログラミングを実行できるようにします。
Java は厳密に型指定された言語であり、潜在的な型の不一致の問題についてコンパイル時のチェックを拡張できます。 Java では明示的なメソッド宣言が必要ですが、C スタイルの暗黙的な宣言はサポートされていません。
Java は、デスクトップ アプリケーション、Web アプリケーション、分散システム、組み込みシステム アプリケーションなどを作成できます。
Java の特徴:
Java は、シンプル、オブジェクト指向、分散型、堅牢、安全、プラットフォームに依存せず、移植可能で、マルチスレッドです。
1. シンプルさ
Java は C によく似て設計されているようですが、言語を作成するためのものです。小さくて馴染み深いため、設計者は、平均的なプログラマがめったに使用しない C で利用可能な機能の多くを削除しました。たとえば、Java は go to ステートメントをサポートせず、代わりに Break ステートメントと continue ステートメント、および例外処理を提供します。また、Java では C の演算子のオーバーロード (オーバーロード) や多重継承機能が排除され、メイン ファイルが使用されないため、プリプロセッサが不要になります。 Java には構造がなく、配列と文字列がオブジェクトであるため、ポインタは必要ありません。 Java はオブジェクト参照や間接参照を自動的に処理し、不要なユニットの自動収集を実現するため、ユーザーはストレージ管理の問題を心配する必要がなく、研究開発により多くの時間とエネルギーを費やすことができます。
2. オブジェクト指向
Java 言語は、クラス、インターフェイス、継承などのオブジェクト指向機能を提供します。簡単にするために、クラス間の単一継承のみをサポートしますが、インターフェイス間の多重継承をサポートし、クラスとインターフェイス間の実装メカニズムをサポートします (キーワードはimplements)。 Java 言語は動的バインディングを完全にサポートしていますが、C 言語は仮想関数に対してのみ動的バインディングを使用します。つまり、Java 言語は純粋なオブジェクト指向プログラミング言語です。
3. 配布
Java はネットワーク上のアプリケーションをサポートするように設計された分散言語です。 Java は、さまざまなレベルのネットワーク接続をサポートするだけでなく、Socket クラスによる信頼性の高いストリーム ネットワーク接続もサポートするため、ユーザーは分散クライアントとサーバーを生成できます。
ネットワークはソフトウェア アプリケーションの配布手段になります。 Java プログラムは一度作成するだけで、どこでも実行できます。
4. コンパイルと解釈可能性
Java コンパイラーは、通常のマシンコードの代わりにバイトコードを生成します。 Java バイトコードは、アーキテクチャに依存しないオブジェクト ファイル形式を提供し、コードはプログラムを複数のプラットフォームに効率的に配信できるように設計されています。 Java プログラムは、Java インタープリタとランタイム システムを実装する任意のシステム上で実行できます。
インタープリタ環境では、プログラム開発の標準的な「リンク」フェーズはほとんどなくなります。 Java にまだリンク段階がある場合、それは単に新しいクラスを環境にロードするプロセスであり、増分的で軽量なプロセスです。したがって、Java はラピッド プロトタイピングと簡単な実験をサポートしており、迅速なプログラム開発につながります。これは、時間のかかる従来の「コンパイル、リンク、テスト」とは対照的な、洗練された開発プロセスです。
5. 堅牢性
Java はもともと家電製品用のソフトウェアを作成するための言語として使用されていたため、信頼性が高く堅牢なソフトウェアを作成できるように設計されています。 Java では特定のプログラミング エラーが排除され、信頼性の高いソフトウェアを非常に簡単に作成できるようになります。
Java の強力な型指定メカニズム、例外処理、自動ガベージ コレクションなどは、Java プログラムの堅牢性を保証する重要な要素です。ポインタを破棄することは Java にとって賢明な選択です。 Java のセキュリティ チェック メカニズムにより、Java はより堅牢になります。
6. セキュリティ
Java のストレージ割り当てモデルは、悪意のあるコードから防御する主な方法の 1 つです。 Java にはポインターがないため、プログラマが舞台裏に侵入してメモリへのポインターを偽ることはできません。さらに重要なのは、Java コンパイラはストレージ配置の決定を処理しないため、プログラマは宣言を見てクラスの実際のストレージ配置を推測することができません。コンパイルされた Java コード内のストレージ参照により、Java インタープリタによる実行時に実際のストレージ アドレスが決定されます。
Java ランタイム システムは、バイトコード検証プロセスを使用して、ネットワークにロードされたコードが Java 言語の制限に違反していないことを確認します。このセキュリティ メカニズムの一部には、インターネットからクラスをロードする方法が含まれます。たとえば、ロードされたクラスはローカル クラスではなく別の名前空間に配置され、悪意のあるアプレットが標準の Java クラスを独自のバージョンに置き換えることを防ぎます。
7. 移植性
Java は、言語宣言を実装の側面から独立させます。たとえば、Java は、各基本データ型のサイズと操作動作を明示的に示します (これらのデータ型は Java 構文で記述されます)。
Java 環境自体は、新しいハードウェア プラットフォームやオペレーティング システムに移植可能です。 Java コンパイラも Java で書かれていますが、Java ランタイム システムは ASIC 言語で書かれています。
8. 高いパフォーマンス
Java は、最初にコンパイルされてから解釈される言語であるため、完全にコンパイルされた言語ほど高速ではありません。しかし、パフォーマンスが重要な状況もあり、このような状況をサポートするために、Java 設計者は、実行時に Java バイトコードを特定の CPU (中央処理装置) 用のマシンコードに変換する「ジャストインタイム」コンパイラーを作成しました。フルコンパイルを達成することです。
Java バイトコード形式は、これらの「ジャストインタイム」コンパイラーのニーズを念頭に置いて設計されているため、マシンコードを生成するプロセスは非常に単純で、非常に優れたコードが生成されます。
9. マルチスレッド
Java 言語では、スレッドは Thread クラスまたはその子孫 (孫) によって作成される必要がある特別なオブジェクトです。通常、スレッドを作成するには 2 つの方法があります:
1)、Thread(Runnable) 型のコンストラクター サブクラスを使用して、Runnable インターフェイスを実装するオブジェクトをスレッドにラップします。
2 )、Thread クラスからサブクラスを派生し、run メソッドをオーバーライドします。このサブクラスを使用して作成されたオブジェクトがスレッドです。 Thread クラスは Runnable インターフェイスを実装しているため、どのスレッドにも run メソッドがあり、run メソッドにはスレッドによって実行されるコードが含まれていることは注目に値します。スレッドのアクティビティは、一連のメソッドによって制御されます。 Java 言語は、複数のスレッドの同時実行をサポートし、複数のスレッド間の同期メカニズムを提供します (キーワードは synchronized です)。
10. ダイナミクス
Java 言語の設計目標の 1 つは、動的に変化する環境に適応することです。 Java プログラムに必要なクラスは、実行環境に動的にロードすることも、ネットワーク経由でロードすることもできます。これにより、ソフトウェアのアップグレードも容易になります。さらに、Java のクラスには実行時表現があり、実行時の型チェックを実行できます。
11. プラットフォームの独立性
Java プログラム (接尾辞 java の付いたファイル) は、Java 上でアーキテクチャに依存しないバイトコード形式 (接尾辞 java の付いたファイル) にコンパイルされます。プラットフォーム クラス ファイル)を作成し、この Java プラットフォームを実装する任意のシステム上で実行できるようになります。このアプローチは、異種ネットワーク環境やソフトウェア配布に適しています。
関連ビデオチュートリアルの推奨事項: 「Java チュートリアル 」
以上がJavaって何の言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。