目录
Java System类是一个提供与系统相关的方法
计算机中的时间原点
1970年1月1日0点0分0秒
原因:
1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机开始着手创造一个全新的革命性的操作系统。他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX。所以,1970年1月1日算C语言的生日。
我国位于东八区所以在中国的操作系统的计算机时间原点是1970年1月1日8点0分0秒。
时间进制:
此之外还有皮秒、飞秒、阿托秒、仄(ze)秒、幺秒,它们之间的进制也是1000。
返回当前系统的时间以毫秒值的形式
public static long currentTimeMillis()

如图输出1656569533325,,表示从时间原点1970.1.1.8到运行当前代码度过的时间,单位毫秒
注:快捷键Alt+v生成变量左侧的一个接收值,比如该代码中输入System.currentTimeMillis()后点击快捷键自动生成“long l = ”。
应用:
统计某一段代码的执行时间。此时我们可以在执行这段代码之前获取一次时间,在执行完毕以后再次获取一次系统时间,然后计算两个时间的差值,这个差值就是这段代码执行完毕以后所需要的时间。
- public class SystemDemo2 {
- public static void main(String[] args) {
- //判断1~100000之间有多少个质数
-
- long start = System.currentTimeMillis();
-
- for (int i = 1; i <= 100000; i++) {
- boolean flag = isPrime2(i);
- if (flag) {
- System.out.println(i);
- }
- }
- long end = System.currentTimeMillis();
- //获取程序运行的总时间
- System.out.println(end - start); //方式一:1514 毫秒 方式二:71毫秒
- }
-
- //以前判断是否为质数的方式
- public static boolean isPrime1(int number) {
- for (int i = 2; i < number; i++) {
- if (number % i == 0) {
- return false;
- }
- }
- return true;
- }
-
- //改进之后判断是否为质数的方式(效率高)
- public static boolean isPrime2(int number) {
- for (int i = 2; i <= Math.sqrt(number); i++) {
- if (number % i == 0) {
- return false;
- }
- }
- return true;
- }
- }
终止当前运行的java虚拟机
public static void exit(int status)
方法的形参是一个状态码

应用:当我们需要把整个程序结束时,就可以调用这个方法。
拷贝数组
- public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
- // src: 源数组(被拷贝数组)
- // srcPos: 源数值的开始位置(从第几个索引开始被拷贝)
- // dest: 目标数组(源数组要拷贝到目标数组中)
- // destPos: 目标数组开始位置(从哪里接受被拷贝数组的元素值)
- // length: 要复制的元素个数
注意:

