Java Runtime类
精华
小牛编辑
125浏览
2023-03-14
1 什么是Java Runtime类
Java Runtime类用于与Java运行时环境进行交互。Java Runtime类提供了用于执行进程,调用GC,获取总内存和可用内存等的方法。
Runtime.getRuntime() 方法返回Runtime类的实例。
2 Java Runtime类的重要方法
方法 | 描述 |
---|---|
public static Runtime getRuntime() | 返回Runtime类的实例。 |
public void exit(int status) | 终止当前虚拟机。 |
public void addShutdownHook(Thread hook) | 注册新的关闭钩子线程。 |
public Process exec(String command)throws IOException | 在一个单独的过程中执行给定的命令。 |
public int availableProcessors() | 返回是否可用的进程。 |
public long freeMemory() | 返回JVM中的可用内存量。 |
public long totalMemory() | 返回JVM中的总内存量。 |
3 Java Runtime的exec()方法
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Runtime的exec()方法
*/
public class Demo{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("notepad");//will open a new notepad
}
}
3.1 如何使用Java关闭window系统
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Runtime的exec()方法
*/
public class Demo{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("c:\\Windows\\System32\\shutdown -s -t 0");
}
}
3.2 如何使用Java重启window系统
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Runtime的exec()方法
*/
public class Demo{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("shutdown -r -t 0");
}
}
4 Java Runtime的availableProcessors()方法
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Runtime的availableProcessors()方法
*/
public class Demo{
public static void main(String args[])throws Exception{
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
5 Java Runtime的freeMemory()和totalMemory()方法
在给定的程序中,创建10000个实例后,可用内存将小于以前的可用内存。但是在gc()调用之后,您将获得更多的可用内存。
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Runtime的freeMemory()和totalMemory()方法
*/
public class Demo{
public static void main(String args[])throws Exception{
Runtime r=Runtime.getRuntime();
System.out.println("Total Memory: "+r.totalMemory());
System.out.println("Free Memory: "+r.freeMemory());
for(int i=0;i<10000;i++){
new Demo();
}
System.out.println("After creating 10000 instance, Free Memory: "+r.freeMemory());
System.gc();
System.out.println("After gc(), Free Memory: "+r.freeMemory());
}
}
输出结果为:
Total Memory: 100139008
Free Memory: 99474824
After creating 10000 instance, Free Memory: 99310552
After gc(), Free Memory: 100182832