System類表明系統,系統級的不少屬性和控制方法都放置在該類的內部。該類位於java.lang包。其包含一些有用的字段和方法,不能被實例化java
system中包含了in、out和err三個成員變量,分別表明標準輸入流(鍵盤輸入)、標準輸出流(顯示器)和標準錯誤輸出流(顯示器)數組
public final static InputStream in; //標準輸入流 public final static PrintStream out; //標準輸出流 public final static PrintStream err; //標準錯誤流
因而可知,system中的out和in都不是內部類,是成員變量.out是PrintStream的final static來修飾變量,因而可知,out是能夠調用printStream中的方法的。例如,system.out.println中的println就是printStream中的一種輸出方法。jvm
System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);學習
其中,src - 源數組。 srcPos - 源數組中的起始位置。 dest-目標數組。 destPos- 目的地數據中的起始位置。 length - 要複製的數組元素的數量。操作系統
int[] arr = {1,2,3,4,5}; int[] arr2 = {6,7,8,9,10}; System.arraycopy(arr,1,arr2,2,2);//有點相似於js裏面的splice,替換掉了2個值 System.out.println(Arrays.toString(arr));//[1,2,3,4,5] System.out.println(Arrays.toString(arr2));//[6,7,2,3,10]
System.currentTimeMillis()code
返回當前時間以毫秒爲單位。和Date類中的getTime方法相似。對象
public class SystemDemo { public static void main(String[] args) { //統計這段程序運行時間 long start = System.currentTimeMillis(); for (int x = 0; x < 10000; x++){ System.out.println("Hello" + x); } long end = System.currentTimeMillis(); System.out.println("共耗時" + (end - start) + "毫秒"); } } //運行結果 //Hello9997 //Hello9998 //Hello9999 //共耗時79毫秒
System.gc()資源
可用於垃圾回收, java垃圾回收器,這個方法不須要咱們去調用,jvm發現系統有未使用的對象,會本身進行執行。不要在程序中頻繁的調用垃圾回收,由於每一次執行垃圾回收jvm都會強制啓動垃圾回收器運行,就會耗費更多的系統資源會與正常的Java程序運行爭搶資源,只有在執行大量的對象的釋放才調用垃圾回收最好。get
System.getProperty()io
獲取指定的鍵指示的系統屬性。
public class test { public static void main(String[] args) { System.out.println(System.getProperties());//系統屬性 System.out.println(System.getProperty("java.version"));// java運行環境版本 System.out.println(System.getProperty("java.home"));// java安裝目錄 System.out.println(System.getProperty("os.name"));// 操做系統名稱 System.out.println(System.getProperty("os.version"));// 操做系統版本 System.out.println(System.getProperty("user.name"));// 用戶帳戶名稱 System.out.println(System.getProperty("user.home"));// 用戶主目錄 System.out.println(System.getProperty("user.dir"));// 當前工做目錄 } }
初步學習一些吧,之後有更多的再來補充。