32ビットマシンでコンパイルされ、64ビットマシンで実行されるJavaアプリケーションの実行に関する既知の問題はありますか?64ビットOS上で32ビットOSランタイムの問題でコンパイルされたJava
答えて
32ビットJDKによって生成されるバイトコードは、64ビットJDKによって生成されるバイトコードと同じです。 64ビットJVMでのみ発生する問題がある場合は、JVMにバグがあり、64ビットJDKを使用しても差がないためです。
これはアプリケーションによって異なりますが、通常の状況下では、x64マシンのx86マシンからコードを実行しても問題ありません。その逆もあります。
プレーンな古いJava(interopやネイティブライブラリへの呼び出しなし)を使用すると、生成されるバイトコードはマシンに依存せず、インストールされているJVM上で実行する必要があります。
環境に固有の32ビットネイティブコードを明示的に呼び出さない限り、私は考えることはできません。
Windowsなどのオペレーティングシステムでは、WoW64を使用して32ビットアプリケーションを64ビットシステムで実行することができます。これは、下位互換性を可能にする規定です。ネイティブライブラリが32ビットのみに依存するか、または64ビットライブラリのみに依存する限り、すべてが良好です。 JVMはバイトコードをJITを使って適切なマシンコードに変換するので、心配はありません。
Javaの背後にあるアイデアは、プログラムのバイトコードバージョンがすべてのプラットフォームで同じであるということです。このため、Windowsマシンでコンパイルし、その結果のクラスとjarファイルをLinuxボックスで実行することができます。私は毎日そのようなクロスコンパイルを行います。
これには、JVMが32ビットまたは64ビットを使用するかどうかが含まれます。
ので、簡単な答えはノー、何の問題
ありませんである(より高度な答えはあなたにもDLLのように、あなたはJavaコードで持参非Javaネイティブコードを使用している場合ということですそれで、そのコードは再コンパイルする必要があります)
- 1. 32ビット/ 64ビットOS?
- 2. 64ビットOS上の32ビットまたは64ビットアプリケーション?
- 3. 64ビットLinux OSでの32ビットQtアプリケーションのコンパイル
- 4. 64ビット環境での32ビットOS Xバイナリのコンパイル
- 5. 64ビットアーキテクチャの32ビットOS
- 6. 64ビットOS上の32ビットJVMを使用したJNA
- 7. AnyCPUアプリケーションを64ビットOS上で32ビットとして実行
- 8. Javaアプリケーションから32ビットOSまたは64ビットOSを決定する方法
- 9. 32ビットOS上のNetBeansで作成した.exe(64ビットWindows 10上)
- 10. 64ビットOSで32ビットSTSを使用できますか?
- 11. 32ビット/ 64ビットアプリケーション、OS、プロセッサの関係は?
- 12. 2 32ビットOS上の^ 32ビットまたはバイト
- 13. 64ビットOSで32ビットVisual C#プロジェクトを開く
- 14. 32ビットOSで64ビット実行可能ファイルを作成する
- 15. ドライブCの問題32ビットと64ビット?
- 16. 32ビットと64ビットOS間の.NETバイナリシリアル化
- 17. 64ビットOS上でSystem32にファイルをコピー
- 18. ビルドapr-util 64ビットMac OS Xは32ビット版をビルド
- 19. 64ビットLinuxの32ビットGTK +アプリケーションのコンパイル
- 20. ソフトウェアを32ビットから64ビットにコンパイル
- 21. Windows 10のShellExecuteEx()64ビットOS
- 22. 64ビットOSのコマンドライン引数
- 23. 64ビットOS用のMicrosoft.Win32.RegistryKey
- 24. 64ビットWeblogic Server上の32ビットJDK
- 25. DriverPackagePreinstallを64ビットで動作させる(32ビットにコンパイル)
- 26. 64ビットOS for Raspberry Pi 3
- 27. MSBuildと32/64ビットの$(ProgramFiles)の問題
- 28. 64ビットコンピュータで32ビットのアンマネージDLLをコンパイル
- 29. 64ビットマシン上のSQL Server 2012 32ビットまたは64ビット?
- 30. 64ビットUbuntuの下で32ビットをコンパイルできますか?
いいえ、あなたが何かばかげていない限り、 – Petesh
こんにちはPetesh、あなたは何か「愚かなこと」の意味をより具体的にすることはできますか? – Paul
64ビット版のコンパイルではなく、32ビット版のコンパイルでは問題はありません。愚かなことは何かプラットフォーム固有のことです。 – Petesh