32または64ビットクラスファイル

32または64ビットクラスファイル

私はJavaを持っています.class file。それでは、32ビットシステムでコンパイルされたのか、64ビットシステムでコンパイルされているのかを確認したいと思います。コマンドを試しましたが、fileコンパイルされたJavaクラスとしてのみ表示されます。調べる方法はありますか?

答え1

Javaクラスファイルはプラットフォームに依存しません。 「64ビットクラスファイル」はなく、すべて同じ形式です。

クラスファイルとライブラリの移植性を妨げる可能性のある要素は次のとおりです。

  • 必須のネイティブコード(これは明らかに「ビット数」を含むプラットフォームによって異なります)
  • クラスのコンパイルに使用されるターゲットバージョン(最新のJVMターゲット用にコンパイルされたクラスは古いJVMターゲットからロードできません)

そうでない場合は、32ビットJDKを使用してクラスをコンパイルし、64ビットJVMで実行できます(またはその逆)。これで正常に動作します。

関連情報