Java Runtime类

本文概述

  • Java Runtime类的重要方法
  • Java Runtime exec()方法
  • 如何用Java关闭系统
  • 如何用Java关闭Windows系统
  • 如何用Java重新启动系统
  • Java运行时availableProcessors()
  • Java运行时freeMemory()和totalMemory()方法
Java Runtime类用于与Java运行时环境进行交互。 Java Runtime类提供了用于执行进程, 调用GC, 获取总内存和可用内存等的方法。java.lang.Runtime类只有一个实例可用于一个Java应用程序。
Runtime.getRuntime()方法返回Runtime类的单例实例。
Java Runtime类的重要方法
没有。 方法 描述
1) public static Runtime getRuntime() 返回Runtime类的实例。
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"); //will open a new notepad } }

如何用Java关闭系统你可以使用shutdown -s命令关闭系统。对于Windows操作系统, 你需要提供关闭命令的完整路径, 例如c:\\ Windows \\ System32 \\ shutdown。
在这里, 你可以使用-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运行时availableProcessors()
public class Runtime4{ public static void main(String args[])throws Exception{ System.out.println(Runtime.getRuntime().availableProcessors()); } }

Java运行时freeMemory()和totalMemory()方法【Java Runtime类】在给定的程序中, 创建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

    推荐阅读