Runtime类的基本使用

日常开发中,Runtime类并不常用,所以我对Runtime的基本使用并不了解,借此篇文章加深对Runtime类理解。

Runtime类代表Java程序的运行时环境,每当一个JVM进程启动的时候都会存在一个Runtime对象,随着JVM的存在而存在的。但由于类Runtime的构造器是私有化的,所以不能实例化对象。Runtime类提供了一个静态方法getRuntime()返回一个Runtime对象。

    public static Runtime getRuntime() {
        return currentRuntime;
    }

    private Runtime() {}

然后可通过Runtime对象调用一些有趣的方法。

//返回 Java 虚拟机中的空闲内存量,供将来分配对象使用的当前可用内存的近似总量,以字节为单位。
public native long freeMemory();
//返回 Java 虚拟机中的内存总量,目前为当前和后续对象提供的内存总量,以字节为单位。
public native long totalMemory();
//返回 Java 虚拟机试图使用的最大内存量,如果内存本身没有限制,则返回值 Long.MAX_VALUE,以字节为单位。
public native long maxMemory();
// Java 虚拟机的可用的处理器数量。
public native int availableProcessors();
//执行指定的路径对应的可执行文件。
public Process exec(String command);

实例:

public class RuntimeExample {
    public static void main(String[] args) throws IOException {
        Runtime runtime = Runtime.getRuntime();
        System.out.println("Java 虚拟机的可用的处理器数量: " + runtime.availableProcessors());
        System.out.println("Java 虚拟机中的空闲内存量: " + runtime.freeMemory());
        System.out.println("Java 虚拟机中的内存总量: " + runtime.totalMemory());
        System.out.println("Java 虚拟机试图使用的最大内存量: " + runtime.maxMemory());

    Process process = runtime.exec("C:\\Windows\\notepad.exe");//打开记事本程序,并返回一个进程
        Thread.sleep(1000);//休眠一秒后关闭进程
        process.destroy();
    }
}

输出结果:

Java 虚拟机的可用的处理器数量: 6
Java 虚拟机中的空闲内存量: 124186000
Java 虚拟机中的内存总量: 126877696
Java 虚拟机试图使用的最大内存量: 1870135296
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容