Определить архитектуру JRE 32-разрядную и 64-разрядную

То, что я пытаюсь выяснить, это то, что моя JRE предназначена для 32-разрядных или 64-разрядных версий.

И да, я пробовал java -version / -showversion / -fullversion, но он не говорит ничего полезного (по крайней мере, не для меня).

Это то, что я получаю, когда я делаю java -version:

java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode)

Итак, у меня есть доступ к ZIP-папке JRE, установленная и настроенная другая JRE, это не та, которую я пытаюсь проверить версию.

Любые идеи?

Ответ 1

System.getProperty("sun.arch.data.model");

Ответ 2

Если вы пытаетесь сделать это из командной строки, file - ваш друг:

$ cat `which java` | file -
/dev/stdin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32, BuildID[sha1]=440c433f29884a88f874e6d8260f156f4b352818,
stripped

(Используя cat, потому что в моем случае java является символической ссылкой.)

Ответ 3

Я получаю следующее, когда запускаю команду на своей 64-битной машине. Java -version всегда получает вас на том, что установлено в свойствах среды или что-то, что выбрано из значка Java в JRE. На вашем компьютере могут быть установлены другие. Посмотрите на "арку".

C:\Users\nyera>java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)