System
(1)系统类,提供了一些有用的字段和方法(2)成员方法(自己补齐)
A:运行垃圾回收器
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; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } @Override protected void finalize() throws Throwable { System.out.println("当前的对象被回收了" + this); super.finalize(); } }
/* * System类包含一些有用的类字段和方法。它不能被实例化。 * * 方法: * public static void gc():运行垃圾回收器。 * public static void exit(int status) * public static long currentTimeMillis() * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) */ public class SystemDemo { public static void main(String[] args) { Person p = new Person("赵雅芝", 60); System.out.println(p); p = null; // 让p不再指定堆内存 System.gc(); } }B:退出jvm
C:获取当前时间的毫秒值
/* * System类包含一些有用的类字段和方法。它不能被实例化。 * * 方法: * public static void gc():运行垃圾回收器。 * public static void exit(int status):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 * public static long currentTimeMillis():返回以毫秒为单位的当前时间 * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) */ public class SystemDemo { public static void main(String[] args) { // System.out.println("我们喜欢林青霞(东方不败)"); // System.exit(0); // System.out.println("我们也喜欢赵雅芝(白娘子)"); // System.out.println(System.currentTimeMillis()); // 单独得到这样的实际目前对我们来说意义不大 // 那么,它到底有什么作用呢? // 要求:请大家给我统计这段程序的运行时间 long start = System.currentTimeMillis(); for (int x = 0; x < 100000; x++) { System.out.println("hello" + x); } long end = System.currentTimeMillis(); System.out.println("共耗时:" + (end - start) + "毫秒"); } }
D:数组复制
import java.util.Arrays; /* * System类包含一些有用的类字段和方法。它不能被实例化。 * * 方法: * public static void gc():运行垃圾回收器。 * public static void exit(int status):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 * public static long currentTimeMillis():返回以毫秒为单位的当前时间 * public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) * 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 */ public class SystemDemo { public static void main(String[] args) { // 定义数组 int[] arr = { 11, 22, 33, 44, 55 }; int[] arr2 = { 6, 7, 8, 9, 10 }; // 请大家看这个代码的意思 System.arraycopy(arr, 1, arr2, 2, 2); System.out.println(Arrays.toString(arr)); System.out.println(Arrays.toString(arr2)); } }