System系统类,主要用于获取系统的属性数据和其他操作,因其构造方法是私有的并且类中的成员方法都是静态的,所以在使用的时候不需要创建对象,可直接调用。
arraycopy(…)
arraycopy(…)方法将指定原数组中的数据从指定位置复制到目标数组的指定位置。
src – 原数组。
srcPos – 在原数组中开始复制的位置。
dest – 目标数组。
destPos – 在目标数组中开始粘贴的位置。
length – 复制的长度。
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
举例:
public class Test1 {
public static void main(String[] args) {
int[] arr={23,45,20,67,57,34,98,95};
int[] dest=new int[8];
System.arraycopy(arr,4,dest,4,4);
for (int x:dest) {
System.out.print(x+" ");
}
}
}
currentTimeMillis()
currentTimeMillis()方法返回当前时间(以毫秒为单位)。
static long currentTimeMillis()
举例:
public class Test2 {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis()); //打印现在的时间
long start=System.currentTimeMillis(); //该方法可用来计时
for (int i = -99999999; i < 99999999; i++) {
for (int j = -99999999; j < 99999999; j++) {
int result=i+j;
}
}
long end=System.currentTimeMillis();
System.out.println("用时:"+(end-start));
}
}
gc()
gc()方法用来运行垃圾回收器。(至于是否回收垃圾,有可能执行,有可能不执行,是否执行取决于JVM)。
static void gc();
举例:
public class Student {
private String name;
private int age;
public Student(String name, int age) {
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
protected void finalize() throws Throwable {
// 有概率会被执行
System.out.println("回收了"+name+" "+age);
}
}
class Test3 {
public static void main(String[] args) {
new Student("小明",20);
new Student("小红",28);
new Student("小刚",22);
System.gc();
}
}
exit(int status)
exit(int status)方法用于终止当前运行的Java虚拟机。如果参数是0,表示正常退出JVM;如果参数非0,表示异常退出JVM。
static void exit(int status);
举例:
public class Test4 {
public static void main(String[] args) {
System.out.println("程序开始了");
System.exit(0); //因为此处已经终止当前运行的Java虚拟机,故不会执行之后的代码
System.out.println("程序结束了");
}
}