Java が 64 ビットか 32 ビットかを確認する

Mohammad Irfan 2023年10月12日
  1. Java が 64 または 32 で System クラスを使用してあるかどうかを確認する
  2. os.arch トークンを使用して、Java が 64 か 32 かを確認する
  3. java -version コマンドを使用して、Java が 64 か 32 かを確認する
  4. Linux の file コマンドを使用して、Java が 64 か 32 かを確認する
  5. jna ライブラリを使用して、Java が 64 か 32 かを確認する
  6. Native クラスを使用して、Java が 64 か 32 かを確認する
Java が 64 ビットか 32 ビットかを確認する

このチュートリアルでは、Java が 64 バージョンであるか Java で 32 バージョンであるかを確認する手順を紹介します。

インストールされている Java バージョンが 64 ビットまたは 32 ビットのどちらに基づいているかを確認するには、System.getProperty() メソッド、Java バージョンコマンド、sun.Platform クラスなどのいくつかの方法を使用できます。

この記事では、例の中でこれらのメソッドを使用して Java プラットフォームをチェックします。

Java が 64 または 32 で System クラスを使用してあるかどうかを確認する

この例では、引数として文字列トークンを受け取り、Java バージョンアーキテクチャを示す文字列を返す System クラスの getProperty() メソッドを使用しました。

ここでは、Java の内部モデルを表す sun.arch.data.model 文字列を使用しました。以下の例を参照してください。

import java.io.IOException;
public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    String is64 = System.getProperty("sun.arch.data.model");
    System.out.println("Your system supports " + is64 + " bit");
  }
}

出力:

Your system supports 64 bit

os.arch トークンを使用して、Java が 64 か 32 かを確認する

ここでは、System クラスの getProperty() メソッドの引数として os.arch トークンを使用しました。Java のアーキテクチャタイプを返します。以下の例を参照してください。

import java.io.IOException;
public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    String is64 = System.getProperty("os.arch");
    System.out.println("Your system supports " + is64 + " bit");
  }
}

出力:

Your system supports amd64 bit

java -version コマンドを使用して、Java が 64 か 32 かを確認する

これは、インストールされている Java アーキテクチャをチェックする最も簡単な方法の 1つです。コードを記述したくない場合は、ターミナル/コマンドプロンプトを開いて、このコマンドを使用してください。このコマンドを実行すると、Java アーキテクチャとともにすべての詳細が出力されます。

$ java - version

出力:

OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Linux の file コマンドを使用して、Java が 64 か 32 かを確認する

Linux を使用している場合は、インストールされている Java のパスの場所とともに file コマンドを使用でき、以下の出力のように出力が得られます。

$ file{YOUR_JRE_LOCATION_HERE} / bin / java

出力:

ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2

jna ライブラリを使用して、Java が 64 か 32 かを確認する

これは、アーキテクチャ情報を含む内部 Sun パッケージを必要とする別のソリューションです。ここでは、is64Bit() メソッドを含む sun パッケージの Platform クラスを使用し、Java が 64 型の場合は true を返し、それ以外の場合は false を返します。以下の例を参照してください。

jna は、低レベルのコードとの接続に使用されるネイティブ API ライブラリです。

import com.sun.jna.Platform;
import java.io.IOException;
public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    boolean is64 = Platform.is64Bit();
    System.out.println("Your system supports is64 bit: " + is64);
  }
}

出力:

Your system supports is64 bit: true

Native クラスを使用して、Java が 64 か 32 かを確認する

jna パッケージの Native クラスは、Javaarch が使用するバイト数を返す定数 POINTER_SIZE を提供します。8 が返される場合は、64 ビットシステムであることを意味します。それ以外の場合は 32 です。以下の例を参照してください。

import com.sun.jna.Native;
import java.io.IOException;
public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    boolean is64 = Native.POINTER_SIZE == 8;
    System.out.println("Your system supports is64 bit: " + is64);
  }
}

出力:

Your system supports is64 bit: true