#java #architecture #64-bit
#java #архитектура #64-разрядная
Вопрос:
Я пытаюсь выяснить системную архитектуру с использованием Java, и я опробовал:
operatingSystemMXBean.getArch()
и
String sys1=System.getProperty("sun.arch.data.model")
но я получаю amd64
, когда я использую 64-разрядный процессор Intel.
Я прочитал эту статью в Wiki, чтобы прояснить свои концепции. Я что-то упускаю? Кроме того, как я могу получить фактическую системную архитектуру с использованием Java, чтобы получить вывод с надписью Intel 64? Спасибо!
Ответ №1:
64-разрядные процессоры Intel используют архитектуру amd. Вот почему многие системы отмечают, что альтернативным синонимом amd64 является x64 или x86-64 для обоих.
Комментарии:
1. Да. Intel пыталась получить 64-разрядное название благодаря своей архитектуре Itanium (IA-64), но оно так и не прижилось, главным образом потому, что 64-разрядные предложения AMD были намного дешевле того, что Intel могла предоставить в то время.
Ответ №2:
бит AMD64 был запатентован AMD, а Intel лицензирует свою архитектуру AMD64. Таким образом, вы получаете AMD64 в качестве архитектуры на процессоре Intel.
Все еще,
System.out.println(System.getenv("PROCESSOR_IDENTIFIER"));
даст вам больше информации о процессоре, в том числе о том, является ли это процессором Intel или AMD!
Комментарии:
1. В какой операционной системе обычно устанавливается PROCESSOR_IDENTIFIER?
2. Это, по крайней мере, в Windows, но я должен признать, что я не знаю о других операционных системах.
3. Это не стандартно для Mac OS X и Linux.
Ответ №3:
Возможно, вы захотите рассмотреть этот пакет:
Sigar ( org.hyperic.sigar.CpuInfo
), вы можете найти javadoc
здесь
Не уверен, это может быть излишеством, но предполагается, что это даст вам всю необходимую информацию о вашей системе (включая информацию о процессоре в классе выше)
Этот пакет является бесплатным под лицензией Apache 2.0.
Комментарии:
1. @OfirFarchy- Спасибо, но только за одну команду, я действительно не хочу использовать Sigar.