本文概述
- Java Runtime类的重要方法
- Java Runtime exec()方法
- 如何用Java关闭系统
- 如何用Java关闭Windows系统
- 如何用Java重新启动系统
- Java运行时availableProcessors()
- Java运行时freeMemory()和totalMemory()方法
Java Runtime类用于与Java运行时环境进行交互。 Java Runtime类提供了用于执行进程, 调用GC, 获取总内存和可用内存等的方法。java.lang.Runtime类只有一个实例可用于一个Java应用程序。
Runtime.getRuntime()方法返回Runtime类的单例实例。
Java Runtime类的重要方法
没有。 | 方法 | 描述 |
---|---|---|
1) | public static Runtime getRuntime() | 返回Runtime类的实例。 |
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");//will open a new notepad
}
}
如何用Java关闭系统
你可以使用shutdown -s命令关闭系统。对于Windows操作系统, 你需要提供关闭命令的完整路径, 例如c:\\ Windows \\ System32 \\ shutdown。
在这里, 你可以使用-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运行时availableProcessors()
public class Runtime4{
public static void main(String args[])throws Exception{
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
Java运行时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
评论前必须登录!
注册