Java中的Runtime类
Runtime类描述了虚拟机一些信息。该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例。下面演示了获取虚拟机的内存信息:
1 package Main; 2 3 public class Main 4 { 5 public static void main(String[] args) throws Exception 6 { 7 Runtime runtime = Runtime.getRuntime(); 8 System.out.println("total memory:"+runtime.totalMemory()/(1024*1024) + "M"); 9 System.out.println("max memory:" + runtime.maxMemory()/(1024*1024) + "M"); 10 System.out.println("free memory:" + runtime.freeMemory()/(1024*1024) + "M"); 11 System.out.println("Main Done//~~"); 12 } 13 }
输出结果:
total memory:230M max memory:3403M free memory:226M Main Done//~~
Runtime类提供gc()方法,用于释放Java虚拟机的一些无用空间。gc是garbage collection的缩写,就是垃圾回收的意思。
1 package Main; 2 3 public class Main 4 { 5 public static void main(String[] args) throws Exception 6 { 7 Runtime runtime = Runtime.getRuntime(); 8 runtime.gc(); 9 System.out.println("Main Done//~~"); 10 } 11 }
Runtime类可以调用本机的一些可执行程序,并且创建进程。exec(String cmd)方法可以打开一个可执行程序,下面代码演示了打开windows记事本程序并5秒后关闭。
1 package Main; 2 3 public class Main 4 { 5 public static void main(String[] args) throws Exception 6 { 7 Runtime runtime = Runtime.getRuntime(); 8 Process process = runtime.exec("notepad"); 9 Thread.sleep(1000*5); 10 process.destroy(); 11 System.out.println("Main Done//~~"); 12 } 13 }