package com.common.system;
/**
* @ClassName: Demo1
* @Author: 南冥有猫不须铭
* @Date: 2021/6/28-23:52
* @Description: System类
*/
public class Demo1 {
public static void main(String[] args) { //System类的构造方法是私有的,而且里面的方法是static静态的,所以不用创建对象
//1 arraycopy:数组的复制
//src:源数组 srcPos:从哪个位置开始复制0 dest:目标数组 destPos:目标数组的位置 length:复制的长度
int[] arr = {20,18,15,8,35,26,45,90};//源数组
int[] dest = new int[8];//目标数组
//System.arraycopy(arr,0,dest,0,arr.length);//把数组arr复制到数组dest中去
System.arraycopy(arr,4,dest,4,4);//把数组arr中的后4个数复制到数组dest中的后4个上(前面4个为0)
for (int i=0;i<dest.length;i++){//遍历复制后的数组
System.out.println(dest[i]);
}
//Arrays.copyOf(original,newLength) //这个方法里面用的就是System.arraycopy
//2 currentTimeMillis():获取当前系统时间,返回毫秒值
System.out.println(System.currentTimeMillis());//1624897510903
//获取毫秒数 可以用来计时
long start = System.currentTimeMillis();
for (int i=-999999;i<99999999;i++){
for (int j=-999999;j<9999999;j++){
int result = i+j;
}
}
long end = System.currentTimeMillis();
System.out.println("用时:"+(end-start));//用时:7 (毫秒)
//3 System.gc();告诉垃圾回收器回收垃圾
//Student s1 = new Student("aaa",19);
//Student s2 = new Student("bbb",19);
//Student s3 = new Student("ccc",19);
new Student("aaa",19);
new Student("bbb",19);
new Student("ccc",19);//这里三句代码没有被引用,是垃圾,会被垃圾回收器回收
System.gc();//告诉垃圾回收器,执不执行,系统决定
//4 System.exit(int status);退出jvm
System.exit(0);//0表示正常退出jvm,非0表示异常退出jvm
System.out.println("程序结束了......");//这句代码没有执行,因为到上面exit之后就已经退出jvm了
}
}
package com.common.system;
/**
* @ClassName: Student
* @Author: 南冥有猫不须铭
* @Date: 2021/6/29-0:39
* @Description: gc(); 测试
*/
public class Student {
private String name;
private int age;
//带参构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//无参构造方法
public Student() {
}
//get、set
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() { //重写toString()方法
return "Student [name=" + name + ", age=" + age + "]";
}
@Override
protected void finalize() throws Throwable { //重写finalize()方法 垃圾回收时执行此方法
System.out.println("回收了" + name + "" + " " + age);
}
}