一、概述篇
Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。
一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为。
二、API预览篇
- getRuntime() : 静态方法返回Runtime实例。其构造函数是私有的,对外不可见
- exec(String) : 执行指定命令脚本.
- addShutdownHook(Thread hook) : 该方法用来在jvm中增加一个关闭的钩子。当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才会执行添加的shutdownHook线程。其中shutdownHook是一个已初始化但并不有启动的线程,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以可通过这些钩子在jvm关闭的时候进行内存清理、资源回收等工作。 > - gc() : 运行垃圾回收器。
- exit(int status) : 通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。
- load(String filename)
加载作为动态库的指定文件名。- loadLibrary(String libname)
加载具有指定库名的动态库。
三、Demo演示篇
public class RunTimeDemo {
public static void main(String[] args) throws IOException {
Process exec = Runtime.getRuntime().exec("rm -rf /home/admin/*.txt");
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("hook");
}
});
}
}