アプリケーションの作成にJavaを使用する理由を理解するために、この1つの点に固執しました。私はJavaに私を紹介したビデオを見て、JVMがあるのは、Javaを移植性のあるものにしているからです。つまり、異なるCPU OSコンボごとに新しいコンパイラを書く必要がなく、しかし、各CPUやOSと互換性を持たせるには何かをしなければならない。私は、JVMを使ってどのように変更するのか分かりません。JVMをCPUアーキテクチャ用のコンパイラとは異なるCPUアーキテクチャと互換性を持たせる方法を教えてください。
答えて
Javaの初期(ベータ版)バージョンはであり、 "一度だけ書き込み、すべての場所でテストする"という意味でとなっています。最初のプラットフォーム(SunOS/Solaris、Windows、Macなど)でのソフトウェアの品質を大幅に向上させることで、移植性が大幅に向上しました(携帯ソフトウェア携帯ソフトウェアは本質的に移植が容易です)。現在、Javaの複数の実装(IBM、JRockitなど)があります。
基本的に、Javaはバイトコードを実行する仮想マシンの仕様です。任意の特定の実施態様では、ではなく、である。バイトコードはプラットフォーム間で同じなので、新しいプラットフォームをサポートするためにJavaコンパイラを変更する必要はありません。さらに、OpenJDK(およびOracle JVM)の多くはJavaで書かれています。基本的にbootstrapping Javaは、「実際の」CPUアーキテクチャ用のコンパイラのブートストラップと比較して簡略化されています。 natively execute Java byte code CPUを除く
。
私が間違っていると私を修正しますが、JVMはCまたはC++のいずれかで書かれている可能性が最も高いです。私はアーキテクチャ上でJVMを実行する必要があります。したがって、Java/JVMをアーキテクチャーやストレートC/C++で実行するかどうかは違いはありません。いずれにしても、アーキテクチャ用に書かれたC/C++コンパイラが必要です。 – BrettG
- 1. 異なるCPUのアーキテクチャを持つ同じapkファイルの異なるバージョン番号を作成する方法
- 2. 100%のCPU使用率までヒーロー的なGCではなくjvmをクラッシュさせる方法を教えてください。
- 3. パワーPC CPUアーキテクチャのClang?
- 4. 実行時のCPUアーキテクチャ
- 5. CPUアーキテクチャの違いは何ですか?
- 6. NuGetパッケージをインストールする際の言語とアーキテクチャの指定方法を教えてください。
- 7. 特定のCPUアーキテクチャのapkファイルを作成する方法
- 8. C#を使用してCPUアーキテクチャの種類を特定する
- 9. マシン上でJavaがすべてのCPUパワーを使用する方法を教えてください。
- 10. CPUがARM v5 CPU命令と互換性があるかどうかを調べる方法
- 11. osがインストールされていない状態でCPUアーキテクチャを判断する
- 12. Android 4.0アプリと下位互換性を保つ方法を教えてください。
- 13. JVMは、OSまたはCPUアーキテクチャに従って開発されていますか?
- 14. Bluezアーキテクチャ:このアーキテクチャを説明してください
- 15. LLVM/CLANGのCPUアーキテクチャの選択
- 16. DockerのデフォルトCPUアーキテクチャがホストの
- 17. すべてのAndroid搭載端末でアプリケーションを互換性にする方法を教えてください。
- 18. Delphiマルチスレッドアプリケーションをデバッグする - 100%CPUを消費する方法を教えてください
- 19. APK対応CPUアーキテクチャの抽出
- 20. バイナリにコンパイルされるTensorflow CPU機能の制御方法を教えてください。
- 21. firefoxプラグインをFF 3.6.13と互換性を持たせる方法
- 22. mysqlデータベーススキーマをh2データベースと互換性を持たせる方法
- 23. @QueryParamは値を持たないパラメータをブール値 "false"に変換する方法を教えてください。
- 24. 複数のアーキテクチャと互換性のあるウェブサイトでオーディオをキャプチャする
- 25. CPUのQPIアーキテクチャをテストするC#コードの例?
- 26. MySQL-Pythonインストールエラー:可能性のあるアーキテクチャの非互換性?
- 27. アンドロイドXamarinコンパイラに正しいファイルパスでNugetパッケージを使用させる方法を教えてください。
- 28. APKサイズ、Twilio、分割とアーキテクチャの互換性
- 29. i386入力ファイルのアーキテクチャはi386と互換性がありません:x86-64
- 30. CPUを測定する方法、オーバーヘッド私はオプションとIBMのJVM(JDK 5.0)を実行しているJVM
「コンパイラは高価です」という文章は、何らかの意味を持つ必要があると思います。 –
私はあなたが正しいと思う、私はそれを編集しました。 – BrettG
それはビデオがとてもうまく説明しているようには聞こえません。 – juanchopanza