Java Runtime类

Java Runtime类用于与Java运行时环境进行交互。Java Runtime类提供了执行进程、调用垃圾回收、获取总内存和可用内存等方法。对于一个Java应用程序,只有一个java.lang.Runtime类的实例可用。

Runtime.getRuntime()方法返回Runtime类的单例实例。

Java Runtime类的重要方法

No.MethodDescription
1)public static Runtime getRuntime()返回运行时类的实例。
2)public void exit(int status)终止当前虚拟机。
3)public void addShutdownHook(Thread hook)注册新的钩子线程。
4)public Process exec(String command)throws IOException在单独的进程中执行给定的命令。
5)public int availableProcessors()返回没有。可用的处理器。
6)public long freeMemory()返回 JVM 中的可用内存量。
7)public long totalMemory()返回 JVM 中的总内存量。

Java Runtime exec()方法

public class Runtime1{  
 public static void main(String args[])throws Exception{  
  Runtime.getRuntime().exec("notepad");//将打开一个新的记事本
 }  
}  

如何在Java中关闭系统

你可以使用shutdown -s命令来关闭系统。对于Windows操作系统,你需要提供完整的shutdown命令路径,例如c:WindowsSystem32shutdown。

这里你可以使用-s开关来关闭系统,-r开关来重新启动系统,-t开关来指定延迟时间。

public class Runtime2{  
 public static void main(String args[])throws Exception{  
  Runtime.getRuntime().exec("shutdown -s -t 0");  
 }  
}  

如何在Java中关闭Windows系统

public class Runtime2{  
 public static void main(String args[])throws Exception{  
  Runtime.getRuntime().exec("c:\\Windows\\System32\\shutdown -s -t 0");  
 }  
}  

如何在Java中重新启动系统

public class Runtime3{  
 public static void main(String args[])throws Exception{  
  Runtime.getRuntime().exec("shutdown -r -t 0");  
 }  
}  

Java Runtime availableProcessors()方法

public class Runtime4{  
 public static void main(String args[])throws Exception{  
  System.out.println(Runtime.getRuntime().availableProcessors());  
 }  
}  

Java Runtime freeMemory()和totalMemory()方法

在给定的程序中,创建10000个实例后,可用内存将少于先前的可用内存。但是在调用gc()方法后,你将获得更多的可用内存。

public class MemoryTest{  
 public static void main(String args[])throws Exception{  
  Runtime r=Runtime.getRuntime();  
  System.out.println("Total Memory: "+r.totalMemory());  
  System.out.println("Free Memory: "+r.freeMemory());  
    
  for(int i=0;i<10000;i++){  
   new MemoryTest();  
  }  
  System.out.println("After creating 10000 instance, Free Memory: "+r.freeMemory());  
  System.gc();  
  System.out.println("After gc(), Free Memory: "+r.freeMemory());  
 }  
}  
Total Memory: 100139008
Free Memory: 99474824
After creating 10000 instance, Free Memory: 99310552
After gc(), Free Memory: 100182832

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想