|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
1、JDK中的先容摘录
此类用于创立操纵体系历程。
每一个ProcessBuilder实例办理一个历程属性集。start()办法使用这些属性创立一个新的Process实例。start()办法能够从统一实例反复挪用,以利用不异的或相干的属性创立新的子历程。
每一个历程天生器办理这些历程属性:
*命令
是一个字符串列表,它暗示要挪用的内部程叙文件及其参数(假如有)。在此,暗示无效的操纵体系命令的字符串列表是依附于体系的。比方,每个整体变量,一般都要成为此列表中的元素,但有一些操纵体系,但愿程序能本人标志命令行字符串——在这类体系中,Java完成大概必要命令切实地包括这两个元素。
*情况
是从变量到值的依附于体系的映照。初始值是以后历程情况的一个正本(请参阅System.getenv())。
*事情目次
默许值是以后历程确当前事情目次,一般依据体系属性user.dir来定名。
*redirectErrorStream属性
最后,此属性为false,意义是子历程的尺度输入和毛病输入被发送给两个自力的流,这些流能够经由过程Process.getInputStream()和Process.getErrorStream()办法来会见。假如将值设置为true,尺度毛病将与尺度输入兼并。这使得联系关系毛病动静和响应的输入变得更简单。在此情形下,合并的数据可从Process.getInputStream()前往的流读取,而从Process.getErrorStream()前往的流读取将间接抵达文件尾。
修正历程构建器的属性将影响后续由该对象的start()办法启动的历程,但从不会影响之前启动的历程或Java本身的历程。
年夜多半毛病反省由start()办法实行。能够修正对象的形态,但如许start()将会失利。比方,将命令属性设置为一个空列表将不会抛出非常,除非包括了start()。
注重,此类不是同步的。假如多个线程同时会见一个ProcessBuilder,而其中最少一个线程从布局上修正了个中一个属性,它必需坚持内部同步。
很简单启动一个利用默许事情目次和情况的新历程:
Processp=newProcessBuilder("myCommand","myArg").start();
上面是一个使用修正过的事情目次和情况启动历程的例子:
ProcessBuilderpb=newProcessBuilder("myCommand","myArg1","myArg2");
Map<String,String>env=pb.environment();
env.put("VAR1","myValue");
env.remove("OTHERVAR");
env.put("VAR2",env.get("VAR1")+"suffix");
pb.directory(newFile("myDir"));
Processp=pb.start();
<p>
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。 |
|