了解下JAVA的Java SE 6之剧本引擎 让程序为虎傅翼
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!如今JavaSE5已公布,在来岁JavaSE6也将公布。JavaSE6较JavaSE5有了很年夜的改善,它的功效更强,并且是专为Vista所计划,这就意味着JavaSE6将是Vista上的最好选择。而JavaSE6所供应的最浩瀚的新功效势必成为它的最年夜卖点。
JavaSE6最有目共睹的新功效之一就是内嵌了剧本撑持。在默许情形下,JavaSE6只撑持JavaScript,但这其实不觉得着JavaSE6只能撑持JavaScript。在JavaSE6中供应了一些接口来界说一个剧本标准,也就是JSR223。经由过程完成这些接口,JavaSE6能够撑持恣意的剧本言语(如PHP或Ruby)。
运转第一个剧本程序
在利用JavaSE6运转剧本之前,必需要晓得你的JavaSE6撑持甚么剧本言语。在javax.script包中有良多的类,但这些类中最次要的是ScriptEngineManager。能够经由过程这个类失掉以后JavaSE6所撑持的一切剧本。以下面例子将列出一切可使用的剧本引擎工场。
importjavax.script.*;
importjava.io.*;
importjava.util.*;
importstaticjava.lang.System.*;
publicclassListScriptEngines
{
publicstaticvoidmain(Stringargs[])
{
ScriptEngineManagermanager=newScriptEngineManager();
//失掉一切的剧本引擎工场
List<ScriptEngineFactory>factories=manager.getEngineFactories();
//这是JavaSE5和JavaSE6的新For语句语法
for(ScriptEngineFactoryfactory:factories)
{
//打印剧本信息
out.printf("Name:%s%n"+
"Version:%s%n"+
"Languagename:%s%n"+
"Languageversion:%s%n"+
"Extensions:%s%n"+
"Mimetypes:%s%n"+
"Names:%s%n",
factory.getEngineName(),
factory.getEngineVersion(),
factory.getLanguageName(),
factory.getLanguageVersion(),
factory.getExtensions(),
factory.getMimeTypes(),
factory.getNames());
//失掉以后的剧本引擎
ScriptEngineengine=factory.getScriptEngine();
}
}
}
下面的例子必需要在JavaSE6中编译。个中importstaticjava.lang.System.*是新的语法,将System中的一切静态成员举行援用,今后就能够间接利用out、in或err了。
经由过程运转javaListScriptEngines,将显现以下信息
Name:MozillaRhino
Version:1.6release2
Languagename:ECMAScript
Languageversion:1.6
Extensions:
Mimetypes:
Names:
在最上面一行是剧本的别号,也就是利用它们中的恣意一个都能够。失掉一个详细的剧本引擎有3种办法。
·依据扩大名失掉剧本引擎
ScriptEngineengine=manager.getEngineByExtension("js");
getEngineByExtension的参数就是Extensions:中[…]里的部分。
·依据Mime范例失掉剧本引擎
ScriptEngineengine=manager.getEngineByMimeType("text/javascript");
getEngineByMimeType的参数能够是Mimetypes:中的任何一个,能够将text/javascript改成text/ecmascript。
·依据称号失掉剧本引擎
ScriptEngineengine=manager.getEngineByName("javascript");
getEngineByName后的参数能够是Names:中的任何一个,如能够将javascript改成ecmascript。
<p>
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net网页编程的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 是一种为 Internet发展的计算机语言 Java是一种计算机编程语言,拥有跨平台、面向对java 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种突破用户端机器环境和CPU
页:
[1]