Java とは何ですか?
Java はオブジェクト指向プログラミング言語であり、C 言語のさまざまな利点を吸収するだけでなく、C 言語では理解しにくい多重継承やポインタなどの概念を放棄しています。 , Java言語には強力な機能とシンプルで使いやすいという2つの特徴があります。静的オブジェクト指向プログラミング言語の代表である Java 言語は、オブジェクト指向理論を完全に実装しており、プログラマーが洗練された考え方で複雑なプログラミングを実行できるようにします。
Java には、単純さ、オブジェクト指向、分散、堅牢性、セキュリティ、プラットフォームの独立性と移植性、マルチスレッド、およびダイナミクスという特徴があります。 Java は、デスクトップ アプリケーション、Web アプリケーション、分散システム、組み込みシステム アプリケーションなどを作成できます。
言語機能
1. シンプルさ
Java は C によく似て設計されているように見えますが、言語を小さくして簡単にするために、彼らは、平均的なプログラマーがほとんど使用しない、C 言語で利用可能な多くの機能を削除しました。たとえば、Java は go to ステートメントをサポートせず、代わりに Break ステートメントと continue ステートメント、および例外処理を提供します。また、Java では C の演算子のオーバーロード (オーバーロード) や多重継承機能が排除され、メイン ファイルが使用されないため、プリプロセッサが不要になります。 Java には構造がなく、配列と文字列がオブジェクトであるため、ポインタは必要ありません。 Java はオブジェクト参照と間接参照を自動的に処理し、不要なユニットの自動収集を実現するため、ユーザーはストレージ管理の問題を心配する必要がなく、研究開発により多くの時間とエネルギーを費やすことができます。
2. オブジェクト指向
Java はオブジェクト指向言語です。プログラマにとって、これは、厳密に手順の観点から考えるのではなく、アプリケーション内のデータとそのデータを操作する方法に注意を払うことを意味します。オブジェクト指向システムでは、クラスはデータとデータを操作するためのメソッドのコレクションです。データとメソッドは一緒になってオブジェクトの状態と動作を記述します。各オブジェクトは、その状態と動作をカプセル化したものです。クラスは、サブクラスがスーパークラスの動作を継承できるように、特定のシステムおよび階層に配置されます。このクラス階層には、一般的な動作を持つクラスであるルート クラスがあります。 Java プログラムはクラスを使用して編成されます。
Java には、ユーザーが独自のプログラムで使用できるさまざまなパッケージ (パッケージ) を形成するクラスの拡張コレクションも含まれています。たとえば、Java は、グラフィカル ユーザー インターフェイス コンポーネントを生成するクラス (java.awt パッケージ) (awt は抽象ウィンドウ ツールキットの略称)、入出力を処理するクラス (java.io パッケージ)、およびネットワーク機能をサポートするクラスを提供します。 java.net パッケージ)。
3. 配布
Java はネットワーク上のアプリケーションをサポートするように設計された分散言語です。 Java は、さまざまなレベルのネットワーク接続をサポートするだけでなく、Socket クラスによる信頼性の高いストリーム ネットワーク接続もサポートするため、ユーザーは分散クライアントとサーバーを生成できます。
ネットワークはソフトウェア アプリケーションの配布手段になります。 Java プログラムは一度作成するだけで、どこでも実行できます。
4. コンパイルと解釈可能性
Java コンパイラーは、通常のマシンコードの代わりにバイトコードを生成します。 Java バイトコードは、アーキテクチャに依存しないオブジェクト ファイル形式を提供し、コードはプログラムを複数のプラットフォームに効率的に配信できるように設計されています。 Java プログラムは、Java インタープリタとランタイム システムを実装する任意のシステム上で実行できます。
インタープリタ環境では、プログラム開発の標準的な「リンク」フェーズはほとんどなくなります。 Java にまだリンク段階がある場合、それは単に新しいクラスを環境にロードするプロセスであり、増分的で軽量なプロセスです。したがって、Java はラピッド プロトタイピングと簡単な実験をサポートしており、迅速なプログラム開発につながります。これは、時間のかかる従来の「コンパイル、リンク、テスト」とは対照的な、洗練された開発プロセスです。
5. 堅牢性
Java はもともと家電製品のソフトウェアを作成するための言語として使用されていたため、信頼性が高く堅牢なソフトウェアを作成できるように設計されています。 Java では特定のプログラミング エラーが排除され、信頼性の高いソフトウェアを非常に簡単に作成できるようになります。
Java は厳密に型指定された言語であり、潜在的な型の不一致の問題についてコンパイル時のチェックを拡張できます。 Java では明示的なメソッド宣言が必要ですが、C スタイルの暗黙的な宣言はサポートされていません。これらの厳格な要件により、コンパイラが呼び出しエラーを確実に捕捉し、その結果、プログラムの信頼性が高まります。
信頼性における最も重要な強化の 1 つは、Java のストレージ モデルです。 Java はポインターをサポートしていないため、ストレージの上書きやデータの破損の可能性が排除されます。同様に、Java の自動「ガベージ コレクション」は、ストレージ リークや、動的なストレージの割り当てと割り当て解除に関連するその他の有害なエラーを防止します。 Java インタープリタは、すべての配列および文字列へのアクセスが範囲内にあるかどうかの確認など、多くの実行時チェックも実行します。
例外処理は、プログラムをより堅牢にする Java のもう 1 つの機能です。例外は、エラーに似た何らかの異常な状態が発生したことを示す信号です。プログラマは、try/catch/finally ステートメントを使用してエラー処理コードを見つけることができ、これによりエラー処理と回復のタスクが簡素化されます。
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 はマルチスレッド言語であり、マルチスレッド実行 (軽量プロシージャとも呼ばれます) をサポートし、さまざまなタスクを処理して、スレッドを使用したプログラミングを行うことができます。楽勝。 Java の lang パッケージは、スレッドの開始、スレッドの実行、スレッドの停止、およびスレッドのステータスの確認のためのメソッドをサポートする Thread クラスを提供します。
Java のスレッド サポートには、一連の同期プリミティブも含まれています。これらのプリミティブは、C.A.R. Haore によって開発された監視および条件付き変数スタイルで広く使用されている同期スキームに基づいています。プログラマは、キーワード synchronized を使用して、クラス内の特定のメソッドが同時に実行できないことを示すことができます。これらのメソッドは、変数が一貫した状態に維持されることを保証するための監視手順の制御下にあります。
10. ダイナミクス
Java 言語は、変化する環境に適応するように設計された動的言語です。たとえば、Java のクラスはオンデマンドでロードされ、一部のクラスはネットワーク経由で取得されることもあります。
以上がジャワとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。