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解釋腳本語言,可直接通過該工具運行腳本;
原文:http://www.cnblogs.com/JsonShare/p/6377879.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java 易变变量_提高java编程质量 - (一)易变业务使用脚本语言编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lr mysql 增删改查_Python
- 下一篇: okhttp 对应java版本_java