Java が 64 ビットか 32 ビットかを確認する
-
Java が 64 または 32 で
Systemクラスを使用してあるかどうかを確認する -
os.archトークンを使用して、Java が 64 か 32 かを確認する -
java -versionコマンドを使用して、Java が 64 か 32 かを確認する -
Linux の
fileコマンドを使用して、Java が 64 か 32 かを確認する -
jnaライブラリを使用して、Java が 64 か 32 かを確認する -
Nativeクラスを使用して、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