问题描述
偶然看到这句Processp=Runtime.getRuntime().exec(cmd.toArray());两个疑问:1.请问为何java需要这么一种命令下发的机制呢,直接调应用程序的接口不行吗?为是了封装java所运行的不同系统上的cmd函数吗?2.这个所谓的Process是起一个进程吗?怎么理解?
解决方案
解决方案二:
Runtime.getRuntime().exec()是创建了一个进程,并返回Process子类的一个实例。Process的实例主要用来控制进程的,比如让进程处于等待状态等。楼主可以去查看一下JAVA的API,上面应该说得很明白。
解决方案三:
楼主是从c++转行做Java的吧。。。关注
解决方案四:
在系统运行的过程中有时需要与操作系统或系统中的软件进行交互,如:重新启动服务器等。这时就可以使用Runtime.getRuntime().exec这只是java体系留出来的一个与其他系统交互的方式。使其可以有更好的扩展性。并不是整个体系的核心部分,不必太多的关注。
解决方案五:
由于Java考虑的是跨操作系统,如果像C/C++那样直接调用系统API,就不能很好的跨操作系统
解决方案六:
该方法创建了一个进程,Processp=Runtime.getRuntime().exec(cmd.toArray());一般情况与操作系统相关,使用过多可移植性较差,建议少用。并行处理可以通过线程实现,相关信息可以查询网上资料。
解决方案七:
不是c++,是做通信设备的C,java纯新手引用2楼lodachi的回复:
楼主是从c++转行做Java的吧。。。关注
解决方案八:
是创建进程吗,还是返回当前进程的句柄,不是java只有java虚拟机这一个进程,而所有程序都跑在这个虚拟机进程下面的线程(或多线程)吗?小弟新手,能不能再解释的稍稍详细一点,多谢!引用1楼longxing8000的回复:
Runtime.getRuntime().exec()是创建了一个进程,并返回Process子类的一个实例。Process的实例主要用来控制进程的,比如让进程处于等待状态等。楼主可以去查看一下JAVA的API,上面应该说得很明白。
解决方案九:
自己顶一下。谁来解惑下