請看看下面的代碼獲取使用環境變量特定的系統信息
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));}
使用這個代碼片斷,我得到我需要的所有信息,以及大量的NO-所需的信息。說實話,我需要的是處理器數量和處理器標識符。這兩個存儲在Windows系統中的環境變量PROCESSOR_IDENTIFIER和NUMBER_OF_PROCESSORS中。
沒有辦法,我可以把這個代碼
System.out.println("Processor Data: "+ System.getenv("PROCESSOR_IDENTIFIER"));
System.out.println("Number of Processors: "+System.getenv("NUMBER_OF_PROCESSORS"));
的原因是,甲骨文它的自我說,環境變量是由系統而不同的系統。這意味着,USERNAME Windows環境變量是UNIX系統中的LOGIN或用戶名。像那樣,它可能在其他系統中有各種其他名稱。
但是,我真的不需要循環提供給我的所有信息。我只需要那兩個。我正在考慮使用下面的代碼。
if("os.name" == "Windows")
{
System.out.println("Processor Data: "+ System.getenv("PROCESSOR_IDENTIFIER"));
}
然而,在這種情況下,我不知道我需要多少系統檢查(我的意思是,這些環境變量從OS更改操作系統或系統與系統嗎?如果我更清楚,這些變量在Linux內核中是相同的還是在Ubuntu,Fedora,Red Hat等之間變化的?)
我不知道如何通過省略其餘部分來獲得唯一需要的兩個數據。請幫忙。我很高興看到代碼的幫助。謝謝
檢查[這個問題](http://stackoverflow.com/questions/25552/using-java-to-get-os-level-system-information)。 – martijno
這是關於獲取JVM信息 –