常用類之System
簡要說明:
1.System類代表的是當前JAVA程序的運行平臺
2.System類提供了很多靜態方法來做系統級的操作(具體見程序)
import java.util.Map;
public class SystemTest
{
/**
* System類方法使用測試(java 7)
*/
public static void main(String[] args)
{
//獲得系統所有環境變量,在這裏我們可以找到熟悉的 JAVA_HOME
Map<String,String> env=System.getenv();
for(String one:env.keySet())
{
System.out.println(one+":"+env.get(one));
}
//當然我們也可以直接獲取某個環境變量,只要你知道他的名字
System.out.println(System.getenv("java_home"));
System.out.println("-----------------------------");
//獲得系統屬性 更多的請參見JAVA API
System.out.println(System.getProperty("os.name"));
System.out.println(System.getProperty("java.vm.name"));
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("user.home"));
System.out.println(System.getProperty("user.dir"));
System.out.println("-----------------------------");
//由對象地址計算的hashCode,標識對象的唯一性(新手請繞過)
String s1=new String("cxy");
String s2=new String("cxy");
System.out.println("對象s1和s2的自身的hashCode是否一樣:"+(s1.hashCode()==s2.hashCode()));
System.out.println("對象s1和s2的由地址計算的hashCode是否一樣:"+(System.identityHashCode(s1)==System.identityHashCode(s2)));
String s3="cxy";
String s4="cxy";
System.out.println("對象s3和s4的由地址計算的hashCode是否一樣:"+(System.identityHashCode(s3)==System.identityHashCode(s4)));
System.out.println("-----------------------------");
//兩個獲取系統當前時間的方法(1970年1月1日午夜的時間差)
System.out.println(System.currentTimeMillis()); //毫秒級
System.out.println(System.nanoTime()); //納米級
System.out.println("-----------------------------");
System.runFinalization(); //運行對象的finalize方法。
System.gc(); //運行垃圾回收器(官方解釋) 實際上這種運行可能只是建議性運行
//終止當前運行的java虛擬機(官方文檔翻譯)
//實際上調用的是Runtime.getRuntime().exit(status)
System.exit(0); //參數 如果是非0代表異常終止,多放在捕獲異常的catch塊中
}
}