System 类
概述
被 final 修饰,不能被继承 也不能被实例化
在 Java.lang.System 包下
提供了大量静态方法和变量,可以获取与系统相关的信息或者系统级操作
System 这个类不能被实例化
常用的方法
public static long currentTimeMills()
可以获取当前时间的毫秒值
它获取到的是据 1970 年 1 月 1 日 0 时 0 分 0 秒 到当前时间的毫秒差值
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
将数组当中的数组,copy到另一个数组当中
系统级操作,性能比较高
public static void exit(int status)
停止当前正在执行的虚拟机
代码示例 可以获取当前时间的毫秒值
参数列表 | 参数名称 | 参数类型 | 参数含义 |
---|---|---|---|
1 | src | Object | 源数组 |
2 | srcPos | int | 源数组索引的起始位置 |
3 | dest | Object | 目标数组 |
4 | destPos | int | 目标数组索引的起始位置 |
5 | length | int | 复制元素的个数 |
// 测试一下性能 循环 10000 次,需要多少时间
public static void method(){
// 吃当前的时间毫秒值
long begin = System.currentTimeMillis();
System.out.println(begin);
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
long time = end - begin;
System.out.println(time + " 毫秒 ");
}
示例2 数组复制
// 数组复制
//public static void arraycopy
// (Object src, 原数组
// int srcPos, 原数组当中的起始位置
// Object dest, 目的数组
// int destPos, 目标数据中的起始位置
// int length) 要复制的数组元素的数量
public static void method02() {
//练习 将 源数组 srcArr = {1,2,3,4,5,6,7}前三个元素 复制到 目标数组的前三个位置上
// destArr = {6,7,8,9,10,11}
int[] srcArr = {1, 2, 3, 4, 5, 6, 7};
int[] destArr = {6, 7, 8, 9, 10, 11};
System.arraycopy(srcArr, 0, destArr, 0, 3);
System.out.println(Arrays.toString(destArr));
for (int value : destArr) {
System.out.print(value + " ");
}
}
示例3 停止正在执行的虚拟机
// 停止正在执行的虚拟机
public static void method03() {
for (int i = 1; i < 1000; i++) {
if (i % 500 == 0) {
System.out.println(i);
System.exit(-1);
}
}
System.out.println("程序继续执行...");
}