System中的重要方法

System类包含一些有用的类字段和方法。它不能被实例化。

   

   

System中的gc():

运行垃圾回收器的方法

调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。

调用 System.gc() 实际上等效于调用:

Runtime.getRuntime().gc()

Demo:

public class SystemDemo {

public static void main(String[] args) {

Person p = new Person("赵雅芝", 60);

System.out.println(p);

   

p = null; // p不再指定堆内存

System.gc();

}

}

Demo:

package cn.itcast_01;

   

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();

}

   

}

exit ()方法:

终止当前正在运行的Java虚拟机,参数用作状态码;根据惯例,非 0 的状态码表示异常终止。

   

Demo:

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) + "毫秒");

}

}

currentTimeMillis()

返回以毫秒值的当前时间

arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束

Demo:

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));

}

}

   

   

posted @ 2017-07-10 07:54  殷瑜泰  阅读(153)  评论(0编辑  收藏  举报