Runtime类理解

Runtime类理解

虽然我们知道在编写java程序时,只有线程的概念,依托于JVM这个进程,但是API提供了Runtime这个类,(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. The
current runtime can be obtained from the getRuntime method.An application cannot create its own instance of this class.)使得出现了子进程,通过getRuntime.exec()可以用来履行shell脚本。原理就是:会从当前虚拟机进程fork1个子进程,然后用新的进程履行命令,而后退出。所以当太多这类场景的时候会出现大量进程,会成为问题,所以能用java API完成的就不要使用这类方式。理解:子进程固然有管道的概念,所以明确了这1点,就能够从中得到InputStream/OutputStream进行1些有用操作。
下面是1个简单的示例:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

//Executes the specified string command in a separate process.
public class TestRuntime {
public static void main(String[] args) throws IOException {
Runtime r = Runtime.getRuntime();
Process p = r.exec("man ls");
System.out.println(p.isAlive());
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String res ;
while((res = br.readLine()) != null){
System.out.println(res);
}
}
}

结果:




波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » Runtime类理解

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡