【问题标题】:Determine if x86 or x64 system from Java [duplicate]确定来自Java的x86或x64系统[重复]
【发布时间】:2012-06-09 20:54:37
【问题描述】:

可能重复:
How do I detect which kind of JRE is installed — 32bit vs. 64bit
How can I tell if I'm running in 64-bit JVM or 32-bit JVM?

我有一个签名的 Java 小程序,它利用已安装的第三方 DLL 来在我的 Java 应用程序中使用卡片扫描仪组件。在 64 位机器上,有一些库旨在用于 64 位架构,因为这些库的原始版本只能在 x86 上运行。

问题是它们的命名不同...

库.dll

在 x64 上我应该使用...

library64.dll

我必须调用loadLibrary 在我的小程序中按名称加载适当的库,但是要加载正确的库,我需要预先确定系统架构。我知道我可以捕捉到一个 UnsatisfiedLinkError 但这真的很难看,如果可能的话我想避免这种情况。我也无法推测该库的安装位置。

任何想法如何从 Java 应用程序中解决这个问题?

【问题讨论】:

  • 既然您指定了 dll,该解决方案只能在 Windows 操作系统中运行吗?
  • @Dancrumb 重复?如何?它关于操作系统架构,而不是 JVM,大多数人在 x64 系统上也有 32 位 Java。
  • @Asif 因为 32 位 JVM 无法加载 64 位库,所以差别不大。
  • 好吧,比我有一个新的捏:) :)

标签: java dll x86 64-bit


【解决方案1】:

您可以使用SystemProperties获取信息。

System.getProperty("os.arch"); //Operating system architecture

【讨论】:

  • 谢谢...这工作得很好。我知道 JVM 安装无法加载 64 位二进制文​​件,但我更关心的是找出系统架构是否安全。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 2021-12-12
  • 2020-07-14
  • 2010-12-10
  • 2011-02-15
  • 2014-07-12
  • 1970-01-01
  • 2020-04-25
相关资源
最近更新 更多