Как я могу определить, была ли компиляция 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 и т.д.