1、概述
- System 类包含了一些有用的类字段和方法
- System 类不能被实例化
2、成员方法
public static void gc()
//运行垃圾回收public static void exit(int status)
//终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
package xitong; public class SystemDemo { public static void main(String[] args){ System.out.println("我喜欢小泽玛利亚"); System.exit(0);//程序退出了,不向下执行了 System.out.println("我不喜欢波多野结衣"); } }
public static long currentTimeMillis()
//返回以毫秒为单位的当前时间
package xitong; public class SystemDemo { public static void main(String[] args){ System.out.println(System.currentTimeMillis()); long start = System.currentTimeMillis(); for (int i = 0; i < 1000; i++){//运行for循环,需要多长时间 System.out.println("hello"+i); } long end = System.currentTimeMillis(); System.out.println("共耗时:"+(end - start)+"毫秒"); } }
-
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)//从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
package xitong;
import java.util.Arrays;
public class SystemDemo {
public static void main(String[] args){
int[] i1 = {11,22,33,44,55};
int[] i2 = {6,7,8,9,10};
System.arraycopy(i1,1,i2,2,2);
System.out.println(Arrays.toString(i1));//输出:[11, 22, 33, 44, 55]
System.out.println(Arrays.toString(i2));//输出:[6, 7, 22, 33, 10]
}
}
package xitong; public class Person { private String name; private int age; public Person(){ super(); } public Person(String name,int age){ super(); this.name = name; this.age = 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 String toString(){ return "Person [name = "+name+",age = "+age+"]"; } //垃圾回收执行时执行的方法,当堆里面的对象没有引用,系统会在空闲时间调用此方法,手动调用System.gc()时进行手动垃圾回收 protected void finalize() throws Throwable{ System.out.println("当前的对象被回收了"+this); super.finalize(); } }
package xitong;
public class SystemDemo { public static void main(String[] args){
Person p = new Person("苍井空",18);
System.out.println(p);
p = null;
System.gc();//调用垃圾回收 } }