是否有可能在java中檢測處理器架構?像x86或Sun SPARC等?如果是這樣,我該如何去做呢?是否有可能在java中檢測處理器體系結構?
回答
你可以嘗試System.getenv()獲取環境變量,使用PROCESSOR_ARCHITECTURE
鍵獲得CPU-architechture:
System.out.println(System.getenv("PROCESSOR_ARCHITECTURE"));
或64位的情況下:
System.out.println(System.getenv("PROCESSOR_ARCHITEW6432"));
對方會這樣要使用「os.arch」system property:
System.getProperty("os.arch");
,並且在使用System.getProperty("os.name")
之前,您可能需要獲得操作系統,因爲QMuhammad在他的答案中提到了這個操作系統依賴於操作系統。
通知that:
系統屬性和環境變量名稱和值之間都 概念映射。這兩種機制可以是 用於將用戶定義的信息傳遞給Java進程。
相關鏈接:
這僅適用於MS Windows,並且僅適用於某些版本的MS Windows。 – 2013-03-06 07:21:51
@MikhailVladimirov我編輯了我的答案,但它的相當interesstign你提到的,認爲這將是平臺不依賴 – CloudyMarble 2013-03-06 07:35:27
至少這是官方規範描述:http://docs.oracle.com/javase/7/docs/api/爪哇/郎/系統。html#getProperties%28%29 – 2013-03-06 07:41:34
System.getProperty ("os.arch");
在我的電腦上返回amd64
。
這似乎不能正常工作一些使用32位JVM進程的64位Windows的情況請參閱:http://stackoverflow.com/a/5940770/395659 – CloudyMarble 2013-03-06 07:26:01
您可以使用下面的屬性來獲取處理器架構:
System.getProperty("sun.cpu.isalist");
這是我使用英特爾的64位處理器和Intel 64位採用了AMD架構返回「AMD64」。
如果你需要,你可以使用這個屬性「os.arch」
如果您需要任何其他財產,那麼這可能會幫助你的OS架構的價值。我寫了以下代碼片段來獲取所有系統屬性:
public static void main(String[] args) {
Properties props = System.getProperties();
Enumeration<Object> keys = props.keys();
while(keys.hasMoreElements()){
Object key = keys.nextElement();
Object value = props.get(key);
System.out.println("Key: "+key + " Value: "+value);
}
}
屬性'sun.cpu.isalist'不是標準的。你最好使用標準的'os.arch'屬性。 – 2013-03-06 07:23:55
我提到這兩個都可以工作。此外,「sun.cpu.isalist」未在Linux上設置,但在Solaris和Windows上設置。取決於你在哪個平臺上工作。 – 2013-03-06 07:34:31
- 1. 是否有可能檢測到Java中是否有類可用?
- 2. RISC體系結構處理器將來會比CISC體系結構處理器的性能更好
- 3. 某些語言是否具有固有的處理器體系結構設計
- 4. 是否有可能僅檢出Java中cvsclient的目錄結構?
- 5. 使用JS或PHP檢查用戶處理器體系結構
- 6. 是否有可能在VS IDE中構建時檢測?
- 7. 是否有可能在Java中獲得扁平(unboxed)結構?
- 8. 是否有可能在Java中檢測嘴脣移動
- 9. 是否有處理Timeblocks的結構?
- 10. 是否有可能處理Java中的所有錯誤?
- 11. 是否有可能在linux上爲許多體系結構編譯c?
- 12. 處理N層體系結構事務
- 13. 在Ant中檢測系統體系結構
- 14. 是否可以在ASP.NET MVC中使用n層體系結構?
- 15. 從Java檢索體系結構
- 16. 如何檢測文件是否在java中進行處理?
- 17. 在所有平臺和處理器體系結構中從float到int的轉換是否一致?
- 18. 是否有可能測試身體
- 19. MongoDB是否有任何客戶端 - 服務器體系結構?
- 20. 是否有可能檢測到您是否處於特定任務的最後處理嘗試中?
- 21. 是否有可以處理C內聯結構的MSVC版本?
- 22. 處理N層體系結構中的非刪除實體
- 23. Android - 是否有可能檢測出是否存在物理照相機按鈕
- 24. 是否有可能在Java
- 25. 在C中檢測特定進程的CPU體系結構#
- 26. 在CMake文件中檢測x86體系結構
- 27. python:是否有可能檢測到我是否在paster shell?
- 28. .net遠程處理:檢測服務器是否沒有運行
- 29. Objective-C - 是否有可能在我的結構中有NSArray?
- 30. 如何在處理N層體系結構時管理事務?
哪個操作系統?會閱讀某些文件,如/ proc/cpuinfo在Linux的幫助? – CloudyMarble 2013-03-06 07:12:47
@TwoMore:Solaris和windows主要是 – shawn 2013-03-06 07:13:26
@shawn那麼你最好使用一個使用純java的平臺不依賴的解決方案,見下面的答案。 – CloudyMarble 2013-03-06 07:17:41