读完本篇文章将会了解以下问题
2.Runtime类常用方法
---------------------------------------------------------------------------------------------------------------------------
1.Runtime类的作用
Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,因为rumtime是单例模式,但可以通过调用 getRuntime 方法获取当前Runtime运行时对象的引用。一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为。
2.Runtime类常用方法
public class TestRunTime {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
System.out.println("本机CPU内核数:"+runtime.availableProcessors());
System.out.println("最大可用内存空间"+runtime.maxMemory()/1024/1024 +"MB,默认为系统的1/4");
System.out.println("可用内存空间:"+runtime.totalMemory()/1024/1024 +"MB,默认为系统的1/64");
System.out.println("空闲内存空间:"+runtime.freeMemory()/1024/1024 +"MB");
System.out.println("手工GC处理gc()");
runtime.gc();
// 运行应用程序
try {
runtime.exec("notepad.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
}
availableProcessors():获取CPU内核数
maxMemory():显示最大可用内存空间(默认为系统四分之一)
totalMemory():显示可用内存空间(默认为系统六十四分之一)
freeMemory():显示空闲内存空间
gc():手动调用GC,进行垃圾回收。
exec():执行其他应用程序,在安全的环境中,可以在多任务操作系统中使用Java去执行其他特别大的进程。exec()方法返回Process对象,可以使用这个对象控制Java程序与新运行的进程进行交互。
内存空间图解: