主要作用
在每一个JVM进程里面都会存在一个 Runtime 类的对象,这个类的主要功能是取得一些与运行时有关的环境的属性,或者创建新的进程等操作。
Runtime 的类的定义:public class Runtime extends Object
。在官方文档中 没有找到对应的构造方法。是因为 Runtime 类在定义的时候它的构造方法已经被私有化了,属于单列设计模式,是为保证在整个进程中只有一个 Runtime 类对象。
GC的概念
- GC(Garbage Collector)垃圾收集器,指的是释放无用的内存空间。
- GC 会由系统不定期的进行自动回收,或者调用 Runtime 类中的 gc() 方法手工回收。
实例化
public class RuntimeTest {
public static void main(String[] args) {
/*
* Runtime类是直接与本地运行有关的所有相关属性的集合,所有在Runtime类定影有如下方法
* 1.返回所有可用内存空间:public long tatalMemory();
* 2.返回最大可用内存孔家:public long maxMemory();
* 3.返回空余内存空间:public long freeMemory();
*/
Runtime run = Runtime.getRuntime();// 取得Runtime类实例化对象;
System.out.println("1.MAX=" + run.maxMemory());
System.out.println("1.TOTAL=" + run.totalMemory());
System.out.println("1.FREE=" + run.freeMemory());
System.out.println("========================================");
// 制造垃圾:通过 String 操作来使用内存空间
String str = " ";
for (int i = 0; i < 2000; i++) {
str += i;
}
System.out.println("2.MAX=" + run.maxMemory());
System.out.println("2.TOTAL=" + run.totalMemory());
System.out.println("2.FREE=" + run.freeMemory());
System.out.println("========================================");
// 使用 gc 将垃圾处理掉
run.gc();
System.out.println("3.MAX=" + run.maxMemory());
System.out.println("3.TOTAL=" + run.totalMemory());
System.out.println("3.FREE=" + run.freeMemory());
}
}
控制输出:
1.MAX=1840250880
1.TOTAL=124780544
1.FREE=122830088
========================================
2.MAX=1840250880
2.TOTAL=124780544
2.FREE=97557352
========================================
3.MAX=1840250880
3.TOTAL=124780544
3.FREE=123569912
通过 Runtime 类来调用 windows 的可执行程序
public class Demo {
public static void main(String[] args) throws Exception{
Runtime run=Runtime.getRuntime();
Process pro=run.exec("mspaint.exe");//调用本机画图程序
Thread.sleep(2000);
pro.destroy();//销毁进程
}
}