这个类中包含了一些系统相关的信息和一些方法,其中的属性和方法都是静态的
该类不能创建对象,因为System的构造方法是私有的
常用属性与方法 | 作用 | 备注 |
---|---|---|
out | 获取系统打印输出流对象,用于控制台打印信息 | out是一个PrintStream对象 |
in | 获取系统打印输入流对象,用于获取输入信息 | in是一个InputStream对象 |
err | 获取系统打印输出流对象,用于控制台打印异常信息 | err是一个PrintStre |
exit(0) | 终止当前运行的Java虚拟机 | 非0表示异常终止 |
currentTimeMillis() | 返回当前时间的毫秒数 | 从1970.1.1开始计算的.中国是UTC(+8),所以中国是由1970.1.1 8:0:0至今经过了多少毫秒 |
arraycopy((原数组,原数组起始位置,目标数组,目标数组起始未知,原数组要复制的元素数量)) | 将原数组中指定长度的元素复制新数组中 |
RunTime类
RunTime的对象,表示程序运行时的对象(运行环境对象)
包含了程序运行环境相关的信息,常用于获取运行环境信息,(如虚拟机内存)或执行某个命令.
特点
RunTime不是一个抽象类,但不能创建对象,因为他的构造方法是私有的---------------->单例模式
定义一个私有的当前类对象的静态成员,由于静态成员会在类加载时执行一次,所以只会创建一个当前类的对象
private static Test test = new Test();
一个私有的无参构造方法
private Test(){}
提供一个公开的静态方法返回这个当前类对象的静态成员
public static Test getTest(){
return test;
}
Runtime rt = Runtime.getRuntime();
System.out.println("当前虚拟机支持的空闲内存"+rt.freeMemory()/1024/1024+"MB");
System.out.println("当前虚拟机实际的最大内存"+rt.totalMemory()/1024/1024+"MB");
System.out.println("当前虚拟机支持的最大内存"+rt.maxMemory()/1024/1024+"MB");
//运行某个指令,返回运行的进程对象
//相当于win键+r
Process process = rt.exec("calc");
Thread.sleep(1000);
//通过进程对象调用销毁功能,从而关闭
process.destroy();