Java Runtime

来源:互联网 发布:上海东华网络教育 编辑:程序博客网 时间:2024/05/09 23:17
Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。

一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方法获取当前Runtime运行时对象的引用。例如:Runtimeruntime=Runtime.getRuntime();就是通过Runtime类的静态方法为其进行实例化操作

一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为。 

当Applet和其他不被信任的代码调用任何Runtime方法时,常常会引起SecurityException异常。

常用的几种方法:runtime.maxMemory();获取JVM最大内存runtime.freeMemory();获取JVM的空闲内存  runtime.gc();进行垃圾收集,释放空间runtime.exec("XXX");调用本机上的程序

下面给出俩个简单的源代码,亲们可以自己敲敲试试看:

获取JVM最大内存和空闲内存,以及进行String操作后的空闲内存的变化,源码如下:
public class MyRunTime {public static void main(String[] args){Runtime runtime=Runtime.getRuntime();//通过Runtime类的静态方法为其进行实例化操作System.out.println("JVM的最大内存是"+runtime.maxMemory());//获取JVM最大内存System.out.println("JVM的空闲内存是"+runtime.freeMemory());//获取JVM的空闲内存String str="Hello"+"MLDN"+"";for (int i = 0; i < 100; i++) {str=str+i;}System.out.println(str);System.out.println("经过string操作后JVM的空闲内存是"+runtime.freeMemory());    runtime.gc();//进行垃圾收集,释放空间    System.out.println("经过回收操作后JVM的空闲内存是"+runtime.freeMemory());}}

调用本机上记事本,并让其打开5秒后关闭,代码如下:
import java.io.IOException;public class MyRunTime02 {public static void main(String[] args){Runtime runtime=Runtime.getRuntime();//通过Runtime类的静态方法为其进行实例化操作Process pro = null;//声明一个progress对象,接受启动的进程try {pro = runtime.exec("notepad.exe");//调用本机上的记事本程序} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {Thread.sleep(5000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}pro.destroy();}}





原创粉丝点击