2012-06-05 106 views
3

可能重複:
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?確定是否x86或x64系統

我有一個簽名的Java小程序,它利用安裝第三方的DLL使用的卡掃描儀組件在我的Java應用程序中。在64位機器上,有幾個庫旨在用於64位體系結構,因爲這些庫的原始版本只能在x86上運行。

的問題是,它們被命名爲不同的...

library.dll

,並在x64上,我應該使用...

library64.dll

我必須致電loadLibrary在我的小程序中按名稱加載相應的庫,但要加載正確的庫,以便預先確定系統體系結構。我知道我可以抓到一個UnsatisfiedLinkError,但這真的很難看,如果可能,我想避免這種情況。我也無法推測圖書館的安裝位置。

任何想法如何從Java應用程序中得出結論?

+0

由於您指定了dll,可能該解決方案僅適用於Windows操作系統? –

+0

@Dancrumb重複?怎麼樣?它關於OS的構架,而不是JVM的,大多數人在x64系統上也有32Bit的Java。 – Asif

+1

@Asif由於32位JVM無法加載64位庫,所以區別是沒有意義的。 – Dancrumb

回答

7

您可以使用SystemProperties來獲取信息。

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

謝謝你......這工作完美。我知道JVM安裝無法加載64位二進制文​​件,但我更關心如何找出系統架構的安全性。 –

+0

歡迎您:) – Asif