Java中System類相關常用函數

System:System 類包含一些有用的類字段和方法。它不能被實例化。 
*  public static void gc():運行垃圾回收器。 
*  public static void exit(int status):終止當前正在運行的 Java 虛擬機。參數用作狀態碼;根據慣例,非 0 的狀態碼錶示異常終止。 
*  public static long currentTimeMillis():返回以毫秒爲單位的當前時間

*  public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)將    類src中位置爲srcPos處開始往後數length長度的元素替換類dest中destPos位置往後相應長度的元素。    

這裏需注意System.gc()函數:System.gc()可用於垃圾回收。當使用System.gc()回收某個對象所佔用的內存之前,通過要求程序調用適當的方法來清理資源。在沒有明確指定資源清理的情況下,Java提高了默認機制來清理該對象的資源,就是調用Object類的finalize()方法。finalize()方法的作用是釋放一個對象佔用的內存空間時,會被JVM調用。而子類重寫該方法,就可以清理對象佔用的資源,該方法有沒有鏈式調用,所以必須手動實現。
從程序的運行結果可以發現,執行System.gc()前,系統會自動調用finalize()方法清除對象佔有的資源,通過super.finalize()方式可以實現從下到上的finalize()方法的調用,即先釋放自己的資源,再去釋放父類的資源。
但是,不要在程序中頻繁的調用垃圾回收,因爲每一次執行垃圾回收,jvm都會強制啓動垃圾回收器運行,這會耗費更多的系統資源,會與正常的Java程序運行爭搶資源,只有在執行大量的對象的釋放,才調用垃圾回收最好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章