Runtime类
Runtime类
不能使用new创建对象,只能通过Runtime.getRuntime()方法获取实例
要写throws Exception或try catch
public static void main(String[] args) throws Exception{
Runtime r1=Runtime.getRuntime();
r1.exec("C:\\Program Files\\Bandizip\\Bandizip.exe");
//写上路径会直接打开对应软件
Runtime r2=Runtime.getRuntime();
r2.exec("notepad");
}
exec会返回process对象,常用方法如下
| 方法 | 功能描述 |
|---|---|
| destroy() | 结束进程 |
| getErrorStream() | 获取进程的错误流 |
| getInputStream() | 获取进程的输入流 |
| getOutputStream() | 获取进程的输出流 |
destroy()的使用方法
public static void main(String[] args) throws Exception{
Runtime r=Runtime.getRuntime();
Process p=r.exec("notepad");
Thread.sleep(5000);//以毫秒为单位,在5秒后会关掉打开的进程
p.destroy();
//process中的destroy是结束进程的方法,直接写会直接关掉,看不到
//为了区分,就写Thread.sleep();来延迟关闭
}
查看内存
totalMemory():返回java虚拟机中的内存总量
freeMemory():返回java虚拟机中的空闲内存总量
Runtime r=Runtime.getRuntime();//获取本地Runtime对象
Integer ints[]=new Integer[100];//初始长度为100的数组
long before=r.freeMemory(); //获取当前空闲内存数
System.out.println("赋值前的空闲内存字节数:"+before);
for (int i = 0; i < ints.length; i++) {
ints[i]=i; //循环为数组赋值
}
long after=r.freeMemory(); //获取赋值之后空闲内存数
System.out.println("赋值后的空闲内存字节数:"+after);
System.out.println("数组用掉的内存字节数:"+(before-after));
?
如果初始长度为10000(不止10000)的数组,输出数组用掉的字节数是0

浙公网安备 33010602011771号