BeanShell是一個小型的、免費的、可嵌入使用Java編寫的具有對象腳本語言特性的Java源碼解釋器。BeanShell動态執行标準的Java文法并且擴充了諸如弱語言類型、指令以及像Perl和JavaScript的方法閉包的通用腳本。
你可以使用互動式的BeanShell實作Java實驗和調試,也可以使用新的方法擴充應用程式。腳本式Java使應用程式更加多樣化,快速模組化、使用者腳本擴充、規則引擎、配置、測試、動态部署、嵌入式系統還有Java訓練。
BeanShell具有小型以及可嵌入的特征,是以你可以從你的應用程式中調用BeanShell在程式運作的時候來動态執行Java代碼或者提供應用程 序的可擴充性。你可以使用獨立的BeanShell腳本操作Java應用程式;動态地與java對象和API一起工作,二者選一。既然BeanShell 使用Java編寫而且與你的應用程式運作在同一台虛拟機上,你可以自由地給腳本傳遞“實時”的對象并且作為結果傳回。
總之,BeanShell是動态解析的Java,加上腳本語言以及靈活的環境所有這一切組成一個完整的包。
功能摘要
動态執行所有Java語句、Java代碼片段以及弱類型Java和附加的腳本的便利
透明地通路所有Java對象和API
四種運作模式:指令行、控制台、Applet、遠端會話服務
可以在受安全限制的環境下工作,不需要類加載器或者絕大多數功能的位元組碼生成器
程式隻有大約150K的Jar檔案
純Java
免費
<b>Java的求值功能:</b>
對所有的Java源碼類和獨立的Java方法、聲明和表達式進行動态求值。
<b>腳本功能:</b>
可選類型的變量
可選類型的參數和傳回值的腳本方法
腳本對象(方法閉包)
腳本接口和事件處理
使用JavaBean屬性,哈希表以及原始的包裝類型這些便利的文法
自動配置設定變量來模拟Java屬性檔案
可擴充的公共程式集以及類似shell的指令
動态的classpath管理包括重裝微粒類
動态的加載指令和使用者指令路徑
複雜的命名空間以及堆棧調用管理
詳細的錯誤報告
<b>BeanShell的使用:</b>
互動式的Java——嘗試對象功能,API以及GUI小部件——“親身實踐”
應用程式腳本擴充——允許你使用直覺而且簡單的方法通過腳本擴充應用程式
宏語言——作為宏來生成腳本并且在你的虛拟機中容易得執行
教育——親自教授Java,在線上的環境下
科學、金融應用程式和規則引擎的表達式求值者——通過條件和循環求出複雜的表達式的值
遠端調試——在你的應用程式中隻要幾行代碼嵌入一個實時、遠端通路的shell/指令
聲名式地使用BeanShell來代替屬性檔案和啟動配置檔案,(這些配置檔案)完全使用Java文法處理執行複雜的初始化以及啟動的腳本
本文轉自 tongqiuyan 51CTO部落格,原文連結:http://blog.51cto.com/tongqiuyan/739922