欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java Runtime

程序员文章站 2022-04-19 21:27:17
...

先来看看这个Runtime是个什么,Android API文档上的说明如下

Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running.

首先Runtime是单例的,每个应用程序只有一个,其次应用程序可以通过它来访问当前运行环境(JVM)

看看它能干什么吧

执行命令行

Java魔法堂:找外援的利器——Runtime.exec详解

Process process = Runtime.getRuntime().exec("cmd /c echo 你好");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(),"utf-8"));
for(String line=reader.readLine();line!=null;line=reader.readLine()){
    System.out.println(line);
}

Process看名字就知道代表了一个进程Runtime的exec方法就是在一条单独进程中执行命令。这个命令要指明使用的shell,这里是cmd,以及表明执行完命令后退出shell,这里是/c参数。在Linux下用sh -c

命令的输出流和错误流会把数据输出到一个缓冲池中,如果缓冲池满了,那执行的命令会暂停,可以通过读取缓冲池中的数据,来给缓冲池腾出空间。要从缓冲池中读取数据,所以打开的是输入流

Process对象的waitFor方法可以让当前线程等待命令执行完后才继续执行,该方法返回一个int值表示命令执行是否成功,用的是shell中的逻辑,也就是0表示成功

内存管理

freeMemory():JVM当前可用的内存
totalMemory():JVM已经当前向系统申请的内存
maxMemory():JVM能够申请的最大内存

这三个方法返回的数值的单位都是byte

相关标签: java