java基础Runtime类的使用

来源:互联网 发布:网络电话交换机设置 编辑:程序博客网 时间:2024/05/20 22:31



简述:

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过getRuntime 方法获取当前运行时。

应用程序不能创建自己的 Runtime 类实例

可以通过getRuntime()方法来获取对象实例

运行某个程序

public static void main(String[] args) {Runtime r = Runtime.getRuntime();try {r.exec("c:\\winmine.exe");} catch (IOException e) {e.printStackTrace();}//运行某个程序}

关闭某个程序

public static void main(String[] args) {Runtime r = Runtime.getRuntime();Process exec = null;try {// 运行某个程序exec = r.exec("c:\\winmine.exe");} catch (IOException e) {e.printStackTrace();}// 关闭某个程序exec.destroy();}


向 Java 虚拟机返回可用处理器的数目

public static void main(String[] args) {//获取runtime对象实例Runtime r = Runtime.getRuntime();//向 Java 虚拟机返回可用处理器的数目。 int availableProcessors = r.availableProcessors();//availableProcessors :4}}


获取内存信息

public static void main(String[] args) {// 获取runtime对象实例Runtime r = Runtime.getRuntime();// 返回 Java 虚拟机中的空闲内存量。调用 gc 方法可能导致 freeMemory 返回值的增加// 供将来分配对象使用的当前可用内存的近似总量,以字节为单位long freeMemory = r.freeMemory();// 返回 Java 虚拟机中的内存总量。此方法返回的值可能随时间的推移而变化,这取决于主机环境。long totalMemory = r.totalMemory();// 返回 Java 虚拟机试图使用的最大内存量。如果内存本身没有限制,则返回值 Long.MAX_VALUE。long maxMemory = r.maxMemory();System.out.println("freeMemory"+freeMemory);System.out.println("totalMemory"+totalMemory);System.out.println("totalMemory"+totalMemory);freeMemory189917872totalMemory192937984totalMemory192937984}}

调用回收机制

public static void main(String[] args) {// 获取runtime对象实例Runtime r = Runtime.getRuntime();// 运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。// 当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。// 名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。r.gc();}




0 0