05-RunTime 类

  1. RunTime 类的主要作用;
  2. RunTime 类的定义形式;

在每个 JVM 进程里面都会存在 RunTime 类的对象,

主要是取得与运行时有关的环境属性或者是创建新的进程之类的有关操作

在 RunTime 类定义的时候,它的构造方法已经被私有化了,属于单例模式。

所以有一个 static 的方法获取实例化的对象:

public static Runtime getRuntime() {
    return currentRuntime;
}

RunTime 类是直接与本地运行有关的所有相关属性的集合

有如下方法:

  1. 返回所有可用内存空间
public native long totalMemory();
  1. 返回最大可用内存空间
public native long maxMemory();
  1. 返回空余内存空间
public native long freeMemory();
  1. 产生了过多的垃圾之后会影响空间,释放垃圾空间
public native void gc();

面试题:解释什么叫 GC,如何处理?

  • GC,即 garbage collector,垃圾收集器,指的是释放无用的内存空间。
  • GC 会由系统不定期进行自动的回收,或者调用 RunTime 类的 gc()方法手工回收。

RunTime 可以调用本机的可执行程序,并且可以创建进程。

public Process exec(String command) throws IOException { }

创建之后会返回一个 Process 对象,通过 Process 对象的 destroy 方法可以销毁进程。

public class Main{
    public static void main(String[] args) throws IOException, InterruptedException {
        Runtime runtime = Runtime.getRuntime();
        Process pro = runtime.exec("mspaint.exe");
        Thread.sleep(2000);
        pro.destroy();
    }
}

意义不大。

总结:

  1. RunTime 使用类单例设计模式,必须使用 getRunTime 方法获取。
  2. 提供了 gc 方法,用于手工释放内存。