Java
 Computer >> コンピューター >  >> プログラミング >> Java

Androidシステムで実行されているJavaプログラムが標準のJavaAPIと仮想マシンを使用しないのはなぜですか?


標準のJavaAPIと仮想マシンは、主にデスクトップとサーバーシステム用に設計されています。それらはモバイルデバイスとそれほど互換性がありません。このため、Googleはモバイルデバイス用に別のAPIと仮想マシンを作成しました。これは、Dalvik仮想マシンとして知られています。

Dalvik仮想マシンはAndroidランタイムの重要なコンポーネントであり、Android用に特別に開発されたJVM(Java仮想マシン)の一部です。 Dalvik仮想マシンは、メモリ管理、マルチスレッドなど、Javaで非常に重要な機能を使用します。Javaのプログラムは最初にJVMに変換され、次にDVMバイトコードに解釈されます。

JVMとDVMの両方の詳細は次のとおりです-

Java仮想マシン

Java仮想マシンは、Javaバイトコードを実行するためのランタイム環境を提供するアプリケーションです。バイトコードをマシンコードに変換します。 Java仮想マシンは、コードのロード、コードの検証、コードの実行、ランタイム環境の提供など、複数の操作を実行できます。

Java仮想マシンの動作を示す図を次のように示します-

Androidシステムで実行されているJavaプログラムが標準のJavaAPIと仮想マシンを使用しないのはなぜですか?

Dalvik仮想マシン

Dalvik仮想マシンは、低電力ハンドヘルドデバイス(モバイルデバイス)用に最適化されたJava仮想マシンのバージョンです。 DVMは、モバイルシステムを最適化して、バッテリーの寿命、メモリ、パフォーマンス全般を向上させます。

Android向けのプログラムは、最初にJavaで記述され、後でJVMのバイトコードにコンパイルされます。その後、このバイトコードはDalvikバイトコードに変換され、.dexファイルと.odexファイルに保存されます。これらは、それぞれDalvik実行可能ファイルと最適化されたDalvik実行可能ファイルです。

Dalvik仮想マシンの動作を示す図は次のとおりです-

Androidシステムで実行されているJavaプログラムが標準のJavaAPIと仮想マシンを使用しないのはなぜですか?


  1. Android Camera2 – Camera2 API を使用して写真やビデオを撮影する方法

    私たちは皆、携帯電話のカメラを使用しており、それを頻繁に使用しています。カメラを機能として統合したアプリケーションもあります。 一方では、カメラを操作する標準的な方法があります。もう 1 つは、カメラとのやり取りをカスタマイズする方法です。この区別は重要です。そこで Camera2 の出番です。 カメラ 2 とは? API レベル 21 から利用可能になりましたが、Camera2 API は、開発者が対処しなければならないアーキテクチャのより複雑な部分の 1 つでなければなりません。 この API とその前身は、開発者がアプリケーション内でカメラと対話する機能を活用できるように配置さ

  2. 修正:Java 仮想マシンを作成できませんでした。 (解決済み)

    Java は、ゲーム、アプリケーション、およびサーバー側プログラムを作成するための最高の開発ツールの 1 つです。 Java で作成されたゲームまたはアプリを実行するには、Java 仮想マシン環境が必要です。 Java で開発されたゲームまたはアプリケーションは、予期せずクラッシュするか、さまざまな理由で開くことができず、「Java 仮想マシンを作成できませんでした。エラー:致命的な例外が発生しました。プログラムは終了します」というエラーが表示される場合があります。 以下に、Windows 10/11 OS での Java 仮想マシン ランチャー エラー「Java 仮想マシンを作成で