首先
我们·自己写的代码是在jvm上,但是我们怎么获取虚拟机上的环境的信息呢?
我们要明白一个叫单例模式是什么意思
Runtime类属于java.lang包中的类,Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,并且只有一个实例,使应用程序能够与其运行的环境相连接。(所以说是单例模式)所以想得到当前运行的Runtime对象,需要通过 getRuntime 方法获取。
package cn.edu.dgut.runtime;
import java.io.IOException;
/**
* 1.public int availableProcessors()-向java虚拟机返回可用处理器的数量
* 2.public long freeMemory()-返回虚拟机空闲的内存量
* 3.public long maxMemory()-虚拟机可用的最大内存量
* 4.public static Runtime getRuntime()-得到一个当前java应用程序运行的对象
* @author Administrator
*
*/
public class runTimeTest {
public static void main(String[] args) throws IOException, InterruptedException {
//获取runtime类对象
Runtime rt=Runtime.getRuntime();
// System.out.println("处理器的个数:"+rt.availableProcessors()+"个");
// System.out.println("空闲内容数量:"+rt.freeMemory()/1024/1024+"M");
// System.out.println("最大可用内存:"+rt.maxMemory()/1024/1024+"M");
/**
* 5.exec()方法,用于执行dos程序
* 例子
* 打开记事本三秒后关闭
*
*/
Process process=rt.exec("notepad.exe");//这里可能会有错误,选择抛出异常
Thread.sleep(3000);//程序休眠三秒
process.destroy();//杀掉进程
}
}
还可以退出:Runtime.exit(0);
Runtime.gs()-垃圾回收