微软的system类库和java_Java常用类库----System 类
System 類基本使用
System.out.println()本身就是一個系統提供好的類,而且out.println()方法也是經常使用到的。
System類是一些與系統相關的屬性和方法的集合,在System類中所有的屬性都是靜態的。想要引用這些屬性和方法,直接使用System類調用即可。
public static void exit(int status) 系統退出,如果status為非0就表示退出
public static void gc() 運行垃圾收集機制,調用的是Runtime類中的gc方法
public static long currentTimeMillis() ? 返回以毫秒為單位的當前時間
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 數組拷貝操作
public static Properties getProperties() ?? 取得當前的系統全部屬性
public static String getProperty(String key) ? ? ? ? ? 根據鍵值取得屬性的具體內容
System類除了可以進行內容的輸出外,還可以通過方法取得一個操作的計算時間:
public classSystemDemo01{public static voidmain(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) +"毫秒") ;
}
};
View Code
列出本機的全部屬性:
public classSystemDemo02{public static voidmain(String args[]){
System.getProperties().list(System.out) ;//列出系統的全部屬性
}
};
View Code
列出的屬性:
-- listing properties --java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\Work\Java\jdk1.8.0_20\jre\bin
java.vm.version=25.20-b23
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.script=user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=java.vm.specification.name=Java Virtual Machine Specification
user.dir=G:\eclipse\workspace\Test
java.runtime.version=1.8.0_20-b26
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\Work\Java\jdk1.8.0_20\jre\lib\endo...
os.arch=amd64
java.io.tmpdir=C:\Users\lenovo\AppData\Local\Temp\La...
line.separator=java.vm.specification.vendor=Oracle Corporation
user.variant=os.name=Windows 8.1sun.jnu.encoding=GBK
java.library.path=D:\Work\Java\jdk1.8.0_20\bin;C:\windo...
java.specification.name=Java Platform API Specification
java.class.version=52.0sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3user.home=C:\Users\lenovo
user.timezone=java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.8user.name=lenovo
java.class.path=G:\eclipse\workspace\Test\bin
java.vm.specification.version=1.8sun.arch.data.model=64java.home=D:\Work\Java\jdk1.8.0_20\jre
sun.java.command=Test
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_20
java.ext.dirs=D:\Work\Java\jdk1.8.0_20\jre\lib\ext;...
sun.boot.class.path=D:\Work\Java\jdk1.8.0_20\jre\lib\reso...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=amd64
View Code
如果現在只需要取得幾個固定屬性的話,則就可以通過以下取得:
public classSystemDemo03{public static voidmain(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")) ;
}
};
View Code
垃圾對象的回收
一個對象如果不使用,則肯定要等待進行垃圾收集,垃圾收集可以自動調用也可以手動調用,手工調用的時候就是調用System.gc()或者Runtime.getRuntime().gc()。但是,如果一個對象在回收之前需要做一些收尾的工作,則就必須覆寫Object類中:
protected void finalize() throws Throwable
在對象被回收之前進行調用,以處理對象回收前的若干操作,比如釋放資源等等。
classPerson{privateString name ;private intage ;public Person(String name,intage){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 classSystemDemo04{public static voidmain(String args[]){
Person per= new Person("張三",30) ;
per= null ; //斷開引用
System.gc() ; //強制性釋放空間
}
};
View Code
只有強制性調用gc()的時候才可以發現對象被回收,當然,如果不調用,則系統也會在一定時間內自動進行回收。
總結:System類本身提供的靜態屬性都是與IO操作有關的。
總結
以上是生活随笔為你收集整理的微软的system类库和java_Java常用类库----System 类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java时间戳求时间差_时间戳换算后,截
- 下一篇: java s3 与ceph的关系_Cep