调用Runtime需要先用getRuntime来创建一个对象,由于它的编码特点,即使多次创建Runtime对象它们存储的地址值也是一样的,都相当于是同一个对象。
代码演示:
public class Test {
public static void main(String[] args) throws IOException {
//1.获取Runtime的对象
Runtime r = Runtime.getRuntime();
//2. exit(int status) 停止虚拟机
//status为状态值 0表示虚拟机正常停止 非0异常停止
//(System中的exit就是调用的Runtime中的exit)
//代码:r.exit(0);
//3.获得CPU的线程数
System.out.println(r.availableProcessors());
//4.虚拟机jvm可获得的总内存大小,单位字节byte
System.out.println(r.maxMemory());
//5.虚拟机jvm已经获得的内存大小,单位字节byte
System.out.println(r.totalMemory());
//6.虚拟机jvm剩余内存的大小,单位字节byte
System.out.println(r.freeMemory());
//7.运行cmd命令
//r.exec("cmd命令");
//↑运行cmd命令拓展
//shutdown命令
//-s 令电脑一分钟后关机
r.exec("shutdown -s");
//-s -t 指定时间 令电脑指定时间后关机(单位为秒)
r.exec("shutdown -s -t 3600");
//-a 取消电脑关机
r.exec("shutdown -a");
//-r 令电脑重启
r.exec("shutdown -r");
}
}