冷月葬花魂 发表于 2015-1-18 11:22:46

发布一篇Mustang与Rhino:Java 6中的剧本编写

手机用到的是用j2me所编出来的小程序。
最新的Java主版本(JavaSE6,又称Mustang)如今正处于beta版本阶段。固然该版本其实不像Java5的更新那末多,可是它的确有一些风趣的新特征。无庸置疑,个中的一个就是对剧本编写言语的撑持。
诸如PHP、Ruby、JavaScript、Python(或Jython)之类的剧本编写言语被普遍使用于很多范畴,并因为其天真性和复杂性而年夜受接待。因为剧本是被注释而不是被编译的,以是能够轻松地从命令交运行和测试它们。这就紧缩了编码/测试周期,并进步了开辟职员的临盆率。剧本一般是静态键进的,其语法极富体现力,所编写出的算法要比Java中的等效算法简明很多。利用起来一般也很风趣。
在良多情形下,从Java利用剧本编写言语会很有效,好比为Java使用程序供应扩大,以便用户能够编写本人的剧本举行扩大或定制化中心功效。剧本编写言语可读性更强,也更简单编写,以是(从手艺下去说)它们是用于为终端用户供应依据需求定制化产物的大概性的幻想言语。
早已有很多Java可用的自力剧本编写包了,包含Rhino、Jacl、Jython、BeanShell、JRuby等。新动静是Java6经由过程一个尺度接口为剧本编写言语供应了内置撑持。
Java6供应对JSR-223标准的周全撑持。该标准供应了一种从Java外部实行剧本编写言语的便利、尺度的体例,并供应从剧本外部会见Java资本和类的功效。Java6附带了与MozillaRhino的JavaScript完成的内置集成。基于该标准,对诸如PHP、Groovy和BeanShell之类的别的剧本编写言语的撑持也正在举行中。本文存眷的是Rhino完成,可是别的言语应当是基础不异的。
剧本编写言语的称号都从何而来?因为年夜多半剧本编写言语都来自于开源项目,以是其称号一般都是由其各自的编写者想出来的。Rhino(犀牛)的称号来自于OReilly关于JavaScript的书封面上的植物。PHP则服从Unix自注释的常规,是PHP:HypertextPreprocessor的简写。Jython是Python剧本编写言语的Java完成。而Groovy只是为了显酷。
利用剧本引擎
JSR223标准便利易用。要利用剧本,您只需懂得一些关头类。次要是ScriptEngine类,它处置剧本注释和求值。要实例化一个剧本引擎,应当利用ScriptEngineManager类来检索感乐趣的剧本编写言语的ScriptEngine对象。每种剧本编写言语都有一个称号。MozillaRhinoECMAScript剧本编写言语(一般称为JavaScript)利用“js”举行标识。
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
嵌进式的JavaScript可用于各类用处。由于它要比硬编码的Java天真且更简单设置,以是一般还能够用于编写频仍变动的营业划定规矩。利用eval()办法对剧本表达式举行求值。剧本编写情况中所利用的任何变量都可使用put()办法从Java代码外部赋值。
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
engine.put("age",21);
engine.eval("if(age>=18){
 "+"print(Oldenoughtovote!);"+
 "}else{"
  +"print(Backtoschool!);"+
 "}");
>Oldenoughtovote!
eval()办法还承受一个Reader对象,这使它简单在文件或其他内部源中保留剧本,以下例所示:
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
engine.put("age",21);
engine.eval(newFileReader("c:/voting.js"));
<p>
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。

柔情似水 发表于 2015-1-20 22:20:33

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

乐观 发表于 2015-1-20 22:20:34

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

再见西城 发表于 2015-1-25 10:47:30

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

冷月葬花魂 发表于 2015-1-31 19:05:23

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

老尸 发表于 2015-2-2 19:24:21

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

金色的骷髅 发表于 2015-2-8 04:25:21

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

深爱那片海 发表于 2015-3-7 10:58:21

是一种突破用户端机器环境和CPU

变相怪杰 发表于 2015-3-15 00:52:22

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

蒙在股里 发表于 2015-3-21 15:16:22

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
页: [1]
查看完整版本: 发布一篇Mustang与Rhino:Java 6中的剧本编写