【Java常用類庫】_System類筆記

來源:互聯網
上載者:User

【Java常用類庫】_System類筆記

本章目標:
認識System類及一些常用方法
掌握垃圾對象的回收操作
瞭解對象的生命週期

3、具體內容
3.1、System類基本使用

System.out.println()本身就是一個系統提供好的類,而且out.println()方法也是經常使用到的。
System類是一些與系統相關的屬性和方法的集合在System類中所有的屬性都是靜態。

No.    方法定義                    類型        描述
1    public static void exit(int status)        普通        系統退出
2    public static void gc()                普通        記憶體回收
3    public staiic long currentTimeMillis()        普通        返回以毫秒為單位的目前時間
4    public static arraycopy(Object src,int        普通        數組拷貝
    srcPos,Object dest,int destPos,int length)
5    public static Properties getProperties()    普通        取得當前系統的全部屬性
6    public static String getProperty(String key)    普通        根據索引值取得屬性的具體內容

一個對象如果不使用,則肯定要等待進行垃圾收集,垃圾收集可以自動調用也可以手工調用,手工調用System.gc()或者Runtime.getRuntime().gc()。但是,如果一個對象在回收之前需要做一些收尾工作,則就必須覆寫Object類中的:
    protected void finalize() throws Throwable
在對象被回收之前進行調用,以處理對象回收之前的若干操作,例如釋放資源。

執行個體一:

public class SystemDemo01{    public static void main(String args[]){        long startTime = System.currentTimeMillis() ;    // 取得開始計算之前的時間        int sum = 0 ;            // 聲明變數        for(int i=0;i<30000000;i++){    // 執行累加操作            sum += i ;        }        long endTime = System.currentTimeMillis() ;    // 取得計算之後的時間        // 結束時間減去開始時間        System.out.println("計算所花費的時間:" + (endTime-startTime) +"毫秒") ;    }};

執行個體二:

public class SystemDemo02{    public static void main(String args[]){        System.getProperties().list(System.out) ;    // 列出系統的全部屬性    }};

執行個體三:

public class SystemDemo03{    public static void main(String args[]){        System.out.println("系統版本:" + System.getProperty("os.name")            + System.getProperty("os.version")            + System.getProperty("os.arch")) ;        System.out.println("系統使用者:" + System.getProperty("user.name")) ;        System.out.println("目前使用者目錄:" + System.getProperty("user.home")) ;        System.out.println("目前使用者工作目錄:" + System.getProperty("user.dir")) ;    }};

執行個體四:

class Person{    private String name ;    private int age ;    public Person(String name,int age){        this.name = name ;        this.age = age;    }    public String toString(){    // 覆寫toString()方法        return "姓名:" + this.name + ",年齡:" + this.age ;    }    public void finalize() throws Throwable{    // 對象釋放空間時預設調用此方法        System.out.println("對象被釋放 --> " + this) ;    }};
public class SystemDemo04{    public static void main(String args[]){        Person per = new Person("張三",30) ;        per = null ;    // 斷開引用        System.gc() ;        // 強制性釋放空間    }};

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.