System类

来源:互联网 发布:linux init 0不好 编辑:程序博客网 时间:2024/05/22 10:27

System类是一些与系统相关的属性和方法的集合,而且在System类中所有的属性都是静态的,要想引用这些属性和方法,直接使用System调用即可.

1.System类中除了可以进行内容输出外,还可以通过方法取得一个操作的计算时间.

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) +"毫秒") ;}};
2.除了此功能之外,还可以列出本机的全部系统属性.

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")) ;}};
3.垃圾对象的回收

一个对象如果不使用,则肯定要等待进行垃圾收集,垃圾收集可以自动调用也可以手式调用,手式调用的时候就是调用System.gc()或者Runtime.getRuntime().gc(). 但是,如果一个对象在回收之前需要做一些收尾工作,则就必须覆写Object类中的

protected void finalize() throws Throwable

在对象被回收之前进行调用,以处理对象回收前的若干操作,例如释放资源等等.

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() ;// 强制性释放空间}};

只有强制性调用gc()的时候才可以发现对象被回收,当然,如果不调用,则系统也会在一定时间内自动进行回收.



原创粉丝点击