300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写

java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写

时间:2021-06-01 21:50:50

相关推荐

java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写

脚本语言的3大特征:

1、灵活:脚本语言一般是动态类型,可以不声明变量类型直接使用,也可以在运行期改变类型;

2、便捷:脚本语言是解释性语言,在运行期变更非常方便,而不用重启服务

3、简单:脚本语言语法比较简单,易学

另外:java6以上默认支持JavaScript

例子:

packagecom.test;importjava.io.FileNotFoundException;importjava.io.FileReader;importjavax.script.Bindings;importjavax.script.Invocable;importjavax.script.ScriptContext;importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;importjavax.script.ScriptException;/*** java执行脚本语言

*@authorjd

**/

public classjavascript {public static voidmain(String[] args){//获取一个JavaScript执行引擎

ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript");//声明上下文 变量

Bindings bind =se.createBindings();

bind.put("variable","结果:");//变量的作用域,当前引擎范围内

se.setBindings(bind,ScriptContext.ENGINE_SCOPE);try{//执行js代码

se.eval(new FileReader("E:/model.js"));//是否可调用方法

if(se instanceofInvocable){

Invocable in=(Invocable) se;//执行js的方法

String result = (String) in.invokeFunction("formula",2,10);

System.out.println(result);

}

}catch(FileNotFoundException e) {

e.printStackTrace();

}catch(ScriptException e) {

e.printStackTrace();

}catch(NoSuchMethodException e) {

e.printStackTrace();

}

}

}

情景1:

function formula(a,b){

return variable+ (a*b);

}

结果:

结果:20

情景2:

function formula(a,b){

return variable+ (a+b);

}

结果:12

情景...

所以在变更业务时,不需要重启 java服务器,就可顺利变更业务,对于变更频繁的业务,这就是很好的解决方案。

PS:Java 6不仅仅提供代码级的脚本内置,还提供了jrunscript命令工具,它可以在批处理中发挥巨大的效能,而且不需要通过JVM解释脚本语言,可直接通过该工具运行脚本;

原文:/JsonShare/p/6377879.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。