Runtime类和Process类
Runtime类和Process类
每一个java程序都有一个Runtime类的单一实例。
通过Runtime.getRuntime()获取Runtime类的实例。
Runtime类是使用单例模式的一个例子。
获取Runtime的好处:通过Runtime的一个对象获取java虚拟机当前的自由内存或总内存,也就是说:Runtime类对象提供了一个应用程序和环境之间的接口。
Runtime对象的另外一个作用:通过exec()执行外部的程序,作为当前进程的一个子进程。
代码
public class RuntimeTest {
public static void main(String[] args) throws Exception{
Runtime runtime = Runtime.getRuntime();//Runtime.getRuntime()用来获取Runtime类的一个实例。
runtime.exec("notepad");// 打开一个记事本程序
}
}
通过exec()方法还可以去编译和运行java的源文件。
代码
public class RuntimeTest {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();// 获取Runtime 类的实例
// System.out.println(rt.freeMemory());
// System.out.println(rt.totalMemory());
try {
// Process java.lang.Runtime.exec(String command)
// 执行一个外部程序来作为当前程序的一个子进程
// rt.exec("notepad");
// 也可以使用exec来编译JAVA的源文件。
rt.exec("javac Hello.java");
Process p = rt.exec("java Hello");
InputStream is = p.getInputStream();// 获取输入流
int data;
while ((data = is.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Hello {
public static void main(String[] args) {
System.out.println("Hello World");
}
}