一、System 类简介
System 类是 Java 中的一个重要类,它提供了一些有用的类变量和方法,用于与系统进行交互。System 类是 java.lang 包的一部分,因此不需要额外的导入。由于System类的构造方法是私有的(private),因此无法实例化该类,所有公有方法和属性都是静态的(static),可以直接通过类名调用。
二、常用方法
1、arraycopy
用于快速复制数组。这比使用循环进行复制更高效。它的方法声明时:
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
使用示例:
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
String[] arr1 = {"Hello", "World", "HelloWorld"};
String[] arr2 = new String[3];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
System.out.println(Arrays.toString(arr2));
}
}
运行结果:
2、currentTimeMillis()
返回当前时间的毫秒数,从1970年1月1日00:00:00 UTC开始。用于测量时间间隔。
使用示例:
public class Example {
public static void main(String[] args) {
String s = new String();
long startTime = System.currentTimeMillis();
for(int i = 0; i < 10000; i++) {
s += "Hello";
}
long endTime = System.currentTimeMillis();
System.out.println("Execution time: " + (endTime - startTime) + " ms");
}
}
运行结果:
3、exit(int status)
终止当前运行的 Java 虚拟机,并返回状态码。
使用示例:
public class Example {
public static void main(String[] args) {
System.out.println("Hello");
System.exit(1);
System.out.println("World"); // 这一句将不会被输出
}
}
运行结果:
4、gc()
提示 Java 虚拟机进行垃圾回收。注意,调用该方法并不保证垃圾回收会立即发生。这个方法只是建议 JVM 进行垃圾回收,具体是否回收还是根据 JVM 的垃圾回收机制。
三、常用属性
System类提供了三个静态成员变量,分别用于标准输入流(System.in )、标准输出流(System.out)和标准错误输出流(System.err)。这些流可以被重定向到不同的设备或文件中。
- in: 标准输入流,通常与键盘关联。
- out: 标准输出流,通常与控制台关联。
- err: 标准错误输出流,通常与控制台关联。