Как я могу определить, была ли компиляция jar на 64-битной или 32-битной системе?

У меня есть банка, но я не знаю, является ли она .jar для 64-битной системы или для 32-битной системы. Как это узнать?

EDIT: у моего .jar есть зависимость от родной библиотеки.

Ответ 1

Java-байт-код - это java-байт-код, неважно, было ли оно построено с 32-битным или 64-битным JDK, и нет никакого способа понять это.

Я думаю, что не имеет никакого значения, чтобы иметь jar, скомпилированный с 32-битным или 64-битным. Он должен быть независимым от машины; если у вас нет зависимости от собственной библиотеки или код Java напрямую компилируется в собственный код.

Ответ 2

Чистая банка не скомпилирована для конкретной архитектуры.

32-разрядная JVM будет запускать банку в 32 бит, а также 64-битная JVM будет запускать банку в 64 бит.

Конечно, если ваша банка использует родные библиотеки, тогда "биттичность" их должна соответствовать JVM, которую вы используете для запуска банки.

Ответ 3

Эта красота JVM и независимость платформы. Нет никакой ценности для 32bit или 64bit, когда речь заходит о Java, JVM, Jar и т.д.