Java 言語の設計者は C++ 言語に精通しているため、設計時に C++ 言語から教訓を得ました。 Java言語は、C++言語よりも「より指向」なプログラミング言語と言えます。 Java
Javaの特徴
を通して、Javaの特徴や利点についてお話しましょう。この記事 Language は優れたプログラミング言語です。その最大の利点は、プラットフォームに依存しないことです。同じコードを Windows 9x、Windows NT、Solaris、Linux、MacOS および 他の プラットフォームで使用できることです。 「一度書けばどこでも実行できる」という特徴により、インターネットで広く採用されています。
Java 言語の設計者は C++ 言語に精通しているため、設計時に C++ 言語をよく参考にしました。 Java言語は、C++言語に比べて「よりオブジェクト指向的な」プログラミング言語であると言えます。 Java 言語の文法構造は C++ 言語の文法構造に非常に似ているため、C++ プログラマは Java 言語を学習しやすくなります。 もちろん、それが C++ への単なるフェイスリフトであれば、今日の Java の流行は存在しなかったでしょう。 Java 言語によって提供されるいくつかの便利な新機能により、Java 言語を使用した場合、C++ 言語よりも簡単に「エラーのないコード」を作成できるようになります。これらの新機能には以下が含まれます:
1) プログラマーはプログラム内でメモリの割り当てと解放を行う必要がなく、ひどいメモリ割り当てエラーに悩まされることはなくなります 2) C++ 言語の紛らわしくエラーが発生しやすい「ポインター」を削除し、それを補うために他のメソッドを使用します 3) 代入ステートメント (a = 3 など) や論理演算ステートメント (a == 3 など) を避けます。 ; 4) 複数のいくつかのメモ:
「多重継承」は「オブジェクト指向」の用語であり、第 2 章で詳しく説明します。これらの利点が Java ブームの背景となっており、その強力な移植機能、マルチスレッド処理、およびネットワーク機能により、Java は世界中で人気があり、徐々にハンドヘルド デバイス、インターネット、車載コンピュータの標準になりました。いくつかのヒント:
Java 言語の仕様は公開されており、Oracle の公式 Web サイトで見つけることができます。Java 言語の仕様を読むことは、レベルを向上させる良い方法です。Java 言語の主な機能
Java 言語にはプログラマを魅了する多くの効果的な機能があります。最も重要なものは次のとおりです:1. シンプルで効果的
Java 言語はかなり簡潔な「オブジェクト」です。 「指向」プログラミング言語。 Java 言語では、ヘッダー ファイル、ポインター、構造体、ユニット、演算子のオーバーロード、仮想基本クラスなど、C++ 言語の理解しにくく混乱を招く機能がすべて省略されています。より厳密かつ簡潔になります。
注:
Visual BasiJava言語は特別なソフトウェア2. 高い移植性
書かれたプログラムが修正なしで Windows、MacOS、LINUX および他のプラットフォームで同時に実行できるとしたら、それはまさに夢の実現です。 Java 言語は、この本来手の届かないものを、どんどん私たちの身近なものにしてくれます。 Java 言語で書かれたプログラムは、いくつかの変更を加えるだけでさまざまなプラットフォーム上で実行できます。また、場合によってはまったく変更を加えずに Java はクロスプラットフォーム プログラミング言語であることは間違いありません。たとえば、データ型のサイズに関しては、プラットフォームごとに異なる規制があります。一部のプラットフォームでは、整数型 (int) は 16 ビットの 2 進数で表されますが、他のプラットフォームでは 32 ビットの 2 進数で表されます。 C/C++ 言語は、プラットフォームの違いによって生じるこの違いを保護しません。このように、整数の表現に 16 ビット 2 進数を使用するプラットフォームで開発された C 言語ソース プログラムを、整数の表現に 32 ビット 2 進数を使用するプラットフォームで実行する必要がある場合、それはまったく悪い知らせです。
Java 言語では、プラットフォームによって生じるこの違いは保護されます。 Java の整数は 32 ビット バイナリで表す必要があり、Java 仮想マシンはこの違いを消化します。 16ビット2進数で整数を表すプラットフォームで開発されたJava言語のソースプログラムを、32ビット2進数で整数を表すプラットフォーム上で動作するように移植したい場合、ソースプログラムを変更する必要はありません。
Java 言語の移植性が非常に高いのは、その設計コンセプトが「一度書けばどこでも実行できる」であるため、必然です。
3. 「オブジェクト指向」
「オブジェクト指向」は、人間のソフトウェア開発能力を大幅に向上させたソフトウェア工学の革命であると言えます。開発のマイルストーン。
過去 30 年間で、「オブジェクト指向」は大きな進歩を遂げ、その価値が完全に体現され、現在では「オブジェクト指向システム分析」、「オブジェクト指向システム設計」、「オブジェクト指向プログラミング」設計が形成されています。 " システム。したがって、現代のプログラミング言語としてはこの方向から逸脱することはできず、Java 言語も例外ではありません。
注:
Java言語は、C++よりも「オブジェクト指向」のプログラミング言語であると言われています。「オブジェクト指向」の考え方を理解していないと、理解するのは困難です。 Java言語を上手に使いましょう。
4. 通訳タイプ
Basic言語をまだ覚えていますか? Basic 言語を使用してプログラミングを行う場合、まず Basic 言語環境に入り、次にソースプログラムを入力して実行する必要があります。Basic 言語環境は文ごとに解釈して実行し、結果を直接取得します。この言語はインタプリタ型言語です。
これは、C/C++ などの言語には当てはまりません。まず、編集ソフトウェアまたは統合開発環境 (IDE) を使用してソース プログラムを作成し、それをコンパイルして実行可能ファイルを生成します。次に、オペレーティング システムを通じてこの実行可能ファイルを実行して、結果を取得します。この言語はコンパイルされた言語です。
インタープリタ言語は非効率的で遅いですが、コンパイル言語は非常に効率的で高速です。
Java 言語はインタプリタ型言語です。はい、お読みのとおり、Java 言語はインタプリタ型言語です。つまり、C/C++ 言語と比較して、Java 言語で書かれたプログラムは非効率的で実行速度が遅くなります。しかし、さまざまなプラットフォームで Java インタープリタを実行し、Java コードを解釈することで、「一度書いたらどこでも実行できる」という壮大な目標を達成できます。目標を達成するには、効率を犠牲にする価値があります。また、コンピュータ技術は日々変化しており、ユーザーが遅すぎると感じることはありません。
いくつかのヒント:
実際、Java 言語は Basic 言語のように完全には解釈可能ではなく、解釈とコンパイルの間の妥協点です。 Java 言語でプログラムを作成するには、まず編集ソフトウェアまたは統合開発環境 (IDE) を使用してソース プログラムを作成し、次に Java コンパイラを使用して擬似コンパイルを実行し、それを中間コード (バイトコードとも呼ばれます) にコンパイルします。 。次に、Java インタプリタを使用してそれを解釈します。
5. 分散コンピューティングに適しています
Java 言語は強力で使いやすいネットワーク機能を備えているため、分散コンピューティング プログラムの開発に非常に適しています。 Java アプリケーションは、ローカル ファイル システム にアクセスするのと同じように、 URL を介して リモート オブジェクトにアクセスできます。
Java 言語を使用してソケット通信プログラムを作成するのは非常に簡単で、他の言語を使用するよりも簡単です。また、パブリック ゲートウェイ インターフェイス (CGI) スクリプトの開発にも非常に適しています。さらに、Java アプレット、Java Server Page (Java Server Page、JSP と呼ばれます)、サーブレット も使用できます。など よりリッチな Web ページを構築する手段。
6. パフォーマンスが向上します
前述したように、Java はインタープリタ言語であるため、実行効率は比較的遅くなりますが、Java 言語は 2 つのメソッドを使用するため、パフォーマンスは良好です。
1) Java 言語ソース プログラムを作成した後、まず Java 擬似コンパイラーを使用して擬似コンパイルを実行し、それを中間コード (バイトコードとも呼ばれます) に変換してから解釈します。
2) 「正確なコード」を提供します。ジャストインタイム (JIT) コンパイラー。より高速な速度が必要な場合は、JIT コンパイラーを使用してバイトコードをマシンコードに変換し、それをバッファリングすることで速度が向上します。
いくつかのヒント:
この JIT コンパイラーは、名前が示すように、ジャストインタイムで、実行時にのみ機能し、プラットフォームに依存するマシンコードにコンパイルします (すでに実行されているため、コンパイルする必要はありません)。携帯性を考慮してください)。このように処理すると、速度が約 10 倍、さらには 20 倍向上します。さらに、このテクノロジーは常に修正されており、将来的には、JIT コンパイラーはよりインテリジェントになり、頻繁に実行されるコードを監視して、コードを適切に最適化し、実行をさらに高速化できるようになります。
7. 堅牢で問題を早期に防止
Java 言語は、疑似コンパイル中に潜在的な問題を早期に多数チェックし、実行時にも対応する多数のチェックを行いますが、これは最も厳格なものであると言えます。翻訳者」。 「問題が発生する前に防ぐ」というその方法により、多くのプログラムのエラーが発生する前に排除されます。他の言語では実行時にのみ公開されるエラーが、コンパイル段階で発見されることがよくあります。さらに、Java 言語には、プログラムの安定性と堅牢性を確保するための多くの機能も用意されており、効果的にエラーを減らし、Java アプリケーションをより堅牢にします。
8. マルチスレッド機能付き
スレッドは軽量のプロセスであり、最新のプログラミングでは不可欠な機能です。マルチスレッド処理機能により、プログラムの対話性とリアルタイム パフォーマンスが向上します。 Java はマルチスレッドのパフォーマンスが優れており、驚くような強力な機能を備えており、Java 言語でのマルチスレッドは非常に簡単です。
注:
各主流プラットフォームでのスレッドの実装は大きく異なることに注意してください。そのため、この点に関して Java 言語は一時的に「プラットフォームに依存しない」ことができません。そのため、Java は、さまざまなオペレーティング システムのセットが実装されています。また、プログラマにとって、マルチスレッド メカニズムを呼び出すコードは、異なるマシンでも同じです。
9. 高いセキュリティを持っています
Java言語を設計する際にセキュリティを注意深く考慮しているため、Java言語は現在最も安全なプログラミング言語となっています。 Sun はかつて、「ウイルス対策およびハッカー対策システムは Java を使用して簡単に構築できる」と約束しましたが、「世界に絶対的なセキュリティはない」という事実は、誰かが約束したからといって効果がなくなるわけではありません。 JDK (Java Development Kit) 1.0 のリリース直後、米国のプリンストン大学のセキュリティ専門家グループが Java 1.0 のセキュリティ機能における最初のエラーを発見しました。それ以来、Java のセキュリティ問題が注目され始めました。しかし、これまでに発見されたセキュリティリスクは非常に些細なものであり、Java開発チームはシステムのセキュリティバグを非常に真剣に受け止めており、発見されたバグは直ちに修正すると主張している。また、Sun は Java インタプリタの詳細を公開しているため、あらゆる分野の人々が協力してこれらのセキュリティ リスクを発見、防止、阻止することができます。
10. Java は動的言語です。これは次の 2 つの側面を意味します:
1) Java 言語では、簡単かつ直感的にランタイム情報をクエリできます
11. 中立オブジェクト言語「Java コンパイラは、疑似コンパイルを通過した後、あらゆるコンピュータ システムと互換性のあるコンピュータ システムを生成します。」無関係な「ニュートラル」バイトコード。この中立的な構造は、Java の登場以前に、UCSD Pascal システムがすでに商用製品で行っていたものではありません。また、UCSD Pascal が実装される前にも、このアプローチの前例がありました。 Niklaus Wirth による。移植性と汎用性の向上と引き換えにパフォーマンスを一部低下させるこの方法は、Pascal 言語で採用されています。 Java のバイトコードは多くの慎重な設計を経て、現在最も一般的なコンピュータ システムとの互換性が高く、どのマシンでも解釈しやすく、マシン コードへの動的変換も容易です。
以上がJavaの特徴とメリットを詳しく解説(パワーノード配置)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。