Java教程-Java Runtime类

Java Runtime类
Java Runtime类用于与Java运行时环境进行交互。Java Runtime类提供了执行进程、调用垃圾回收、获取总内存和可用内存等方法。对于一个Java应用程序,只有一个java.lang.Runtime类的实例可用。
Runtime.getRuntime()方法返回Runtime类的单例实例。
Java Runtime类的重要方法
No. | Method | Description |
---|---|---|
1) | public static Runtime getRuntime() | 返回运行时类的实例。 |
2) | public void exit(int status) | 终止当前虚拟机。 |
3) | public void addShutdownHook(Thread hook) | 注册新的钩子线程。 |
4) | public Process exec(String command)throws IOException | 在单独的进程中执行给定的命令。 |
5) | public int availableProcessors() | 返回没有。可用的处理器。 |
6) | public long freeMemory() | 返回 JVM 中的可用内存量。 |
7) | public long totalMemory() | 返回 JVM 中的总内存量。 |
Java Runtime exec()方法
public class Runtime1{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("notepad");//将打开一个新的记事本
}
}
如何在Java中关闭系统
你可以使用shutdown -s命令来关闭系统。对于Windows操作系统,你需要提供完整的shutdown命令路径,例如c:WindowsSystem32shutdown。
这里你可以使用-s开关来关闭系统,-r开关来重新启动系统,-t开关来指定延迟时间。
public class Runtime2{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("shutdown -s -t 0");
}
}
如何在Java中关闭Windows系统
public class Runtime2{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("c:\\Windows\\System32\\shutdown -s -t 0");
}
}
如何在Java中重新启动系统
public class Runtime3{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("shutdown -r -t 0");
}
}
Java Runtime availableProcessors()方法
public class Runtime4{
public static void main(String args[])throws Exception{
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
Java Runtime freeMemory()和totalMemory()方法
在给定的程序中,创建10000个实例后,可用内存将少于先前的可用内存。但是在调用gc()方法后,你将获得更多的可用内存。
public class MemoryTest{
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 MemoryTest();
}
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