Runtime类

来源:互联网 发布:win10优化 gui 编辑:程序博客网 时间:2024/03/29 15:14

1.得到JVM的信息

public class RuntimeDemo01{public static void main(String args[]){Runtime run = Runtime.getRuntime();// 通过Runtime类的静态方法进行实例化操作System.out.println("JVM最大内存量:" + run.maxMemory()) ;// 观察最大的内存,根据机器的不同,环境也会有所不同System.out.println("JVM空闲内存量:" + run.freeMemory()) ;// 取得程序运行的空闲内存String str = "Hello " + "World" + "!!!" +"\t" + "Welcome " + "To " + "MLDN" + "~" ;System.out.println(str) ;for(int x=0;x<1000;x++){str += x ;// 循环修改内容,会产生多个垃圾}System.out.println("操作String之后的,JVM空闲内存量:" + run.freeMemory()) ;run.gc() ;// 进行垃圾收集,释放空间System.out.println("垃圾回收之后的,JVM空闲内存量:" + run.freeMemory()) ;}};
2.Runtime与Process类

public class RuntimeDemo02{public static void main(String args[]){Runtime run = Runtime.getRuntime() ;// 取得Runtime类的实例化对象try{run.exec("notepad.exe") ;// 调用本机程序,此方法需要异常处理}catch(Exception e){e.printStackTrace() ;// 打印异常信息// System.out.println(e) ;}}};
以上的程序只是打开了一个词本,现在要求一个词本程序在运行5秒之后自动进行关闭,如果要想实现以上的功能,就必须操作进程了,因为每一个词本打开都是会存在一个进程的.

exec()方法的返回值是Process,表示一个进程的操作类.可以通过deestroy()方法销毁掉一个进程.

public class RuntimeDemo03{public static void main(String args[]){Runtime run = Runtime.getRuntime() ;// 取得Runtime类的实例化对象Process p = null ;// 定义进程变量try{p = run.exec("notepad.exe") ;// 调用本机程序,此方法需要异常处理}catch(Exception e){e.printStackTrace() ;// 打印异常信息// System.out.println(e) ;}try{Thread.sleep(5000) ;// 让此线程存活5秒}catch(Exception e){}p.destroy() ;// 结束此进程}};


总结

Runtime类本身就是单态设计的一种应用,因为在整个JVM中只存在一个Runtime类的对象,可以使用Runtime类取得JVM的系统信息,或者使用gc()方法释放掉垃圾空间,还可以使用此类运行本机的程序.



原创粉丝点击