一,本章目标
认识System类的一些常用方法
掌握垃圾对象的回收操作
了解对象的生命周期
二,具体内容
System类是一些与系统属性和方法相关的集合。此类的属性和方法都是静态的。而且此类是final类。
System类中除了可以进行内容的输出外,还可以通过方法取得一个操作的计算时间。
还可以列出本机的全部属性。
此处取得的是全部属性,可以发现以上的属性都是通过key---value形式存放的。如果现在要取得几个固定的属性,则可以通过以下取得:
垃圾对象回收的问题:
一个对象如果不使用,则肯定要等待垃圾回收,垃圾收集可以自动调用也可以手工调用,手工调用的时候就是调用System.gc或者Runtime.getRuntime().gc.
但是,如果一个对象在回收之前需要做一些收尾的工作,则就必须覆写Object中的finalize方法。
此方法是在对象被回首之前进行调用的,以处理对象回收之前的若干操作,例如释放资源等等。
package System类;
public class Demo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p = new Person("张三",30);
p = null;
System.gc();
}
}
class Person{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public void finalize() throws Throwable{
System.out.print("对象被释放" + this);
}
}
三,总结
System类本身提供的静态属性都是与IO操作有关的,在IO操作中我们会进一步介绍System类
System类中的gc方法实际上是包装了runtime类中的gc方法