java 的SYSTEM類

來源:互聯網
上載者:User
System類代表系統,系統級的很多屬性和控制方法都放置在該類的內部。該類位於java.lang包。

         由於該類的構造方法是private的,所以無法建立該類的對象,也就是無法執行個體化該類。其內部的成員變數和成員方法都是static的,所以也可以很方便的進行調用。

         1、成員變數

System類內部包含in、out和err三個成員變數,分別代表標準輸入資料流(鍵盤輸入),標準輸出資料流(顯示器)和標準錯誤輸出資料流(顯示器)。

                   例如:

                            System.out.println(“Test”);

該行代碼的作用是將字串”Test”輸出到系統的標準輸出裝置上,也就是顯示在螢幕上。

後續在學習完IO相關的知識以後,可以使用System類中的成員方法改變標準輸入資料流等對應的裝置,例如可以將標準輸出資料流輸出的資訊輸出到檔案內部,從而形成記錄檔等。

         2、成員方法

                   System類中提供了一些系統級的操作方法,這些方法實現的功能分別如下:

                   a、arraycopy方法

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

該方法的作用是數組拷貝,也就是將一個數組中的內容複寫到另外一個數組中的指定位置,由於該方法是native方法,所以效能上比使用迴圈高效。

使用樣本:

         int[] a = {1,2,3,4};

         int[] b = new int[5];

         System.arraycopy(a,1,b,3,2);

該代碼的作用是將數組a中,從下標為1開始,複製到數組b從下標3開始的位置,總共複製2個。也就是將a[1]複製給b[3],將a[2]複製給b[4],這樣經過複製以後數組a中的值不發生變化,而數組b中的值將變成{0,0,0,2,3}。

                   b、currentTimeMillis方法

                            public static long currentTimeMillis()

該方法的作用是返回當前的電腦時間,時間的表達格式為當前電腦時間和GMT時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數。例如:

         long l = System. currentTimeMillis();

則獲得的將是一個長整型的數字,該數字就是以差值表達的目前時間。

使用該方法獲得的時間不夠直觀,但是卻很方便時間的計算。例如,計算程式運行需要的時間則可以使用如下的代碼:

         long start = System. currentTimeMillis();

         for(int i = 0;i < 100000000;i++){

                   int a = 0;

         }

         long end = System. currentTimeMillis();

         long time = end – start;

則這裡變數time的值就代表該代碼中間的for迴圈執行需要的毫秒數,使用這種方式可以測試不同演算法的程式的執行效率高低,也可以用於後期線程式控制制時的精確延時實現。

                   c、exit方法

                            public static void exit(int status)

該方法的作用是退出程式。其中status的值為0代表正常退出,非零代表異常退出。使用該方法可以在圖形介面編程中實現程式的退出功能等。

                   d、gc方法

                            public static void gc()

該方法的作用是請求系統進行記憶體回收。至於系統是否立刻回收,則取決於系統中記憶體回收演算法的實現以及系統執行時的情況。

                   e、getProperty方法

                            public static String getProperty(String key)

該方法的作用是獲得系統中屬性名稱為key的屬性對應的值。系統中常見的屬性名稱以及屬性的作用如下表所示。

屬性名稱列表

屬性名稱

屬性說明

java.version

Java 運行時環境版本

java.home

Java 安裝目錄

os.name

作業系統的名稱

os.version

作業系統的版本

user.name

使用者的賬戶名稱

user.home

使用者的主目錄

user.dir

使用者的當前工作目錄

                            例如:

                                     String osName = System.getProperty(“os.name”);

                                     String user = System.getProperty(“user.name”);

                                     System.out.println(“當前作業系統是:” + osName);

                                     System.out.println(“目前使用者是:” + user);

                            使用該方法可以獲得很多系統級的參數以及對應的值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.