java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写
腳本語言的3大特征:
1、靈活:腳本語言一般是動態(tài)類型,可以不聲明變量類型直接使用,也可以在運行期改變類型;
2、便捷:腳本語言是解釋性語言,在運行期變更非常方便,而不用重啟服務(wù)
3、簡單:腳本語言語法比較簡單,易學(xué)
另外:java6以上默認(rèn)支持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執(zhí)行腳本語言
*@authorjd
**/
public classjavascript {public static voidmain(String[] args){//獲取一個JavaScript執(zhí)行引擎
ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript");//聲明上下文 變量
Bindings bind =se.createBindings();
bind.put("variable","結(jié)果:");//變量的作用域,當(dāng)前引擎范圍內(nèi)
se.setBindings(bind,ScriptContext.ENGINE_SCOPE);try{//執(zhí)行js代碼
se.eval(new FileReader("E:/model.js"));//是否可調(diào)用方法
if(se instanceofInvocable){
Invocable in=(Invocable) se;//執(zhí)行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);
}
結(jié)果:
結(jié)果:20
情景2:
function formula(a,b){
return variable+ (a+b);
}
結(jié)果:12
情景...
所以在變更業(yè)務(wù)時,不需要重啟 java服務(wù)器,就可順利變更業(yè)務(wù),對于變更頻繁的業(yè)務(wù),這就是很好的解決方案。
PS:Java 6?不僅僅提供代碼級的腳本內(nèi)置,還提供了jrunscript命令工具,它可以在批處理中發(fā)揮巨大的效能,而且不需要通過JVM解釋腳本語言,可直接通過該工具運行腳本;
原文:http://www.cnblogs.com/JsonShare/p/6377879.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lr mysql 增删改查_Python
- 下一篇: okhttp 对应java版本_java