Runtime类的基本使用

作者: 爱打乒乓的程序员 | 来源:发表于2019-04-18 21:41 被阅读10次

日常开发中,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

相关文章

  • Runtime类的基本使用

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

  • Runtime初识

    runtime的使用先导入runtime类 runtime 可以对类操作举个例子先创建一个Person类在.h中声...

  • 02-KVO的基本使用和本质

    runtime的强大之处:在运行的过程中可以动态生成一个类 一、KVO的基本使用 1.MJPerson类 2.Vi...

  • runtime应用--添加动态类

    创建类 因为要使用runtime的api,所以要导入头文件#import 创建类代...

  • runtime的基本使用

    OC语言是基于C语言进行封装的一种面向对象的语言,因此OC的底层就是C,runtime则是用来链接OC与C,用C语...

  • Swift-Runtime 基本应用

    使用Swift编程,未免会使用到Runtime,下面是Swift-RunTime的基本使用,希望对大家有所帮助。 ...

  • 浅谈缓存写法(一):缓存的雪崩和穿透

    基本写法 为了方便演示,这里使用Runtime.Cache做缓存容器,并定义个简单操作类。如下: 简单读取: 在项...

  • Runtime 相关 API

    以下列举了使用 Runtime 时常用到的 部分API ,并非全部 Runtime 类 相关 API动态创建一个类...

  • runtime

    RunTime runtime一般都是在针对系统的类的时候使用 RunTime,消息进行时,我们平时写的oc代码,...

  • [iOS]混淆-类名混淆

    使用runtime混淆类名 objc_runtime_name属性可以在编译时,将Class或Protocol指定...

网友评论

    本文标题:Runtime类的基本使用

    本文链接:https://www.haomeiwen.com/subject/uciewqtx.html