System類入門學習

System類

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中經常使用的方法

  1. 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]
  2. 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毫秒
  3. System.gc()資源

    可用於垃圾回收, java垃圾回收器,這個方法不須要咱們去調用,jvm發現系統有未使用的對象,會本身進行執行。不要在程序中頻繁的調用垃圾回收,由於每一次執行垃圾回收jvm都會強制啓動垃圾回收器運行,就會耗費更多的系統資源會與正常的Java程序運行爭搶資源,只有在執行大量的對象的釋放才調用垃圾回收最好。get

  4. 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"));// 當前工做目錄
        }
    }

    結尾:

    初步學習一些吧,之後有更多的再來補充。

相關文章
相關標籤/搜索