1

私は Java に非常に慣れていませんが、Java を学び始めて以来、常に疑問に思っていました。Java API のクラスとパッケージは、ウィンドウの作成からファイルへの書き込みまで、多くの便利なことを行います。しかし、最初は、API クラスは何をするにも言語だけを使用します。

この言語を使用すると、データを変数に格納したり、ロジックを実行したり、メソッド、オブジェクト、クラスを作成したりできることを知っています。しかし、すべての「良いこと」を行うには、API クラスを使用します。しかし、彼らは言語だけでどうやってそのようなクールなことを行うことができるのでしょうか? Java に組み込まれているコードは、ウィンドウの作成方法やファイルへの書き込み方法を指定していますか? また、コードを使用して、モーターなどの外部のものに情報を出力するにはどうすればよいでしょうか?

組み込みのコードは、API が単独で実行できることを処理できないようですが、API は Java で記述されているため、生の言語を使用して実行することを実行します。

私は自分の主張をしたと思いますが、それはどのように機能しますか?

4

3 に答える 3

3

さまざまな Java クラス (たとえばdocjarnative ) のソース コードを確認すると、実装が提供されていないメソッド宣言がいくつかあることに最終的に気付くでしょう( Threadクラスを確認してください)。ここで、基盤となるプラットフォーム固有のコードに制御が渡されます。

于 2012-08-19T06:54:30.653 に答える
1

Java ランタイム ライブラリは、多くの「優れた機能」をネイティブでサポートしていますが、ウィンドウ、ファイル システム、およびその他の OS ネイティブ リソースへのパフォーマンスの高いアクセスのために、Java は Java Native Interface (JNI) と呼ばれるメカニズムを提供し、JVM から低レベルにブリッジします。プラットフォーム固有のライブラリ。

Java の観点から見れば、橋を渡ろうとしているnative道しるべは、メソッド宣言を装飾するキーワードです。

于 2012-08-19T06:55:04.160 に答える
1

API クラスは、プログラミング対象のクリーンな API を提供するように設計されています。考えてみてくださいList

次に、 と のように契約の一部を満たすクラスがArrayListありLinkedList、どちらもリストですが、特性が異なります。

ファイルへの書き込みや画面への描画など、オペレーティング システムの助けを必要とするものは、オペレーティング システムが提供する API に準拠するように記述されています。これは通常、ネイティブ コード (通常は C で記述) によって呼び出されるプラットフォームに依存します。デフォルトの Java GUI である Swing は、オペレーティング システムによって提供される長方形内で動作する Java で完全に記述されています。

JDK で最新の IDE を使用する場合、いつでもランタイム ライブラリ内のクラスに移動して、それらが実際にどのように動作するかを確認できます。通常、それはあなたが考えるよりもはるかに簡単です。

于 2012-08-19T06:56:58.887 に答える