Java System

150 阅读2分钟

System

System也是一个工具类,提供了一些与系统相关的方法

方法名说明
public static void exit(int status)终止当前运行的虚拟机
public static long currentTimeMillis()返回当前系统的事件毫秒值形式(从时间原点开始到方法运行时的时间毫秒)
public static void arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数)数组拷贝
  • exit()方法的形参是状态码

    • 0:表示当前虚拟机是正常停止
    • 非0:表示当前虚拟机异常停止
    • exit()方法的底层是调用Runtime中的exit()方法Runtime.getRuntime().exit(status);
  • 计算机中的时间原点

    • 1970年1月1日 00:00:00
    • 原因
      • 1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会开始着手创造一个全新的革命性的操作系统
      • 它使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本
      • 随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX
      • 1970年1月1日 算C语言的生日
    • 在中国,由于处于东八区,所以获取出来的时间原点是1970年1月1日 08:00:00
    • 1秒 = 1000毫秒 1毫秒 = 1000微秒 1微秒 = 1000纳秒
  • currentTimeMillis()的用法

    • 可以在程序开始和结束时调用该方法,相减后就是程序运行的时间
  • arraycopy()方法中的参数

    • 参数一:要拷贝的数组从那个数组而来
    • 参数二:从数据源数组中的第几个索引开始拷贝
    • 参数三:目的地,我要把数据拷贝到那个数组中
    • 参数四:目的地数组的索引
    • 参数五:拷贝的个数
  • arraycopy()方法的细节

    • 如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错
    • 在拷贝的时候需要考虑数组的长度,如果超出范围也会报错
    • 如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型