天天看點

什麼是BeanShell?

    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