java_basic-miansi

講義 1 | Java プラットフォームについての理解について教えてください。

1. 1 か所でコンパイルしてどこでも実行できる、優れたクロスプラットフォーム機能

2. ガベージ コレクション。そのほとんどは無効であり、メモリの割り当てと再利用に関係しています。

java---------javac---------->バイトコード--------jvm--------->マシンコード

jit インタープリターはホット コードを直接コンパイルするため、Java はコンパイルと解釈の両方を行います。

 1つは、コンパイルされていると言えます。すべての Java コードはコンパイルする必要があるため、.java はコンパイルなしでは役に立ちません。

第二に、それは解釈的であると言えます。Javaコードはコンパイル後に直接実行できないため、解釈されてJVM上で実行されるため、解釈されて実行され、それも解釈されます。

3. ただし、現在の JVM には、効率のためにいくつかの JIT 最適化があります。.class のバイナリ コードをローカル コードにコンパイルして直接実行するので、再度コンパイルします。C や C++ と同様に、1 回のコンパイル後にオペレーティング システムが理解できる型に直接コンパイルでき、直接実行できるため、コンパイル済み言語です。2回目の処理がなければJavaは違い、まずコンパイラがJava型ファイルである.class型ファイルにコンパイルし、仮想マシン(JVM)を通して.classファイルから1行読み込んで解釈・実行します。つまり、彼はインタープリター言語であり、Java は多くの異なるオペレーティング システムに対して異なる JVM を備えているため、Java は真のクロスプラットフォームを実現しました。

コンパイル言語とインタープリター言語の定義は次のとおりです。定義: コンパイル済み言語: すべてのソース プログラムをバイナリ コードにコンパイルする実行可能プログラム。その後、プログラムを直接実行できます。翻訳済み言語: 完成したソース プログラムの 1 つの文を翻訳し、最後まで 1 つの文を実行します。相違点: コンパイル済み言語は実行速度が速く、効率が高い; コンパイラに依存しており、クロスプラットフォーム性が低い. インタープリター型言語は、実行速度が遅く、効率が低く、インタープリターに依存しており、クロスプラットフォームのパフォーマンスが優れています。個人的には、Java はインタープリター言語であると考えています。なぜなら、Java もコンパイルして . にコンパイルする必要があるためです。これが、Java がクロスプラットフォームである理由でもあります。したがって、Java はコンパイルとインタープリタの両方であると言えますが、分類する必要がある場合、概念的な定義から、Java はインタープリタ言語として分類されるべきであると思います。

講義 2 | 例外とエラーの違いは何ですか?

投げる と 投げる はどう違いますか?

Throw は、通常はコード ブロック内で例外をスローするステートメントです。プログラムで特定の論理エラーが発生した場合、プログラマは特定の種類の例外を積極的にスローします。throws は、メソッドが例外をスローする可能性があるステートメントです。(メソッドを宣言するときに使用され、メソッドが例外をスローする可能性があることを示します)、メソッドが何らかの例外をスローする可能性がある場合、スローに使用され、スローされる可能性のある例外を宣言し、メソッドプログラムに渡します処理のために上位層でそれを呼び出す 

例外はさらに、チェックされた例外とチェックされていない例外に分けられます. チェック可能な例外は、ソースコードで明示的にキャプチャする必要があります. これはコンパイル時のチェックの一部です. チェック可能な例外は: IOException, unchecked 範囲外の値の例外など.

おすすめ

転載: blog.csdn.net/u013372493/article/details/126752170