什麼是BeanShell?
BeanShell是一個小型的,免費的,可嵌入式的,具有面向對象腳本語言特性的Java代碼解釋器。它是用Java語言寫的。它能執行標准的Java語句和表達式,還自帶簡單的腳本命令和語法。它把編程對象當成一個簡單的方法,這很像Perl和javascript.
你可以在寫Java測試或調試時使用BeanShell,也可以用它作為你的應用程序的腳本引摯。簡而言之,BeanShell可以動態的解釋JAVA語言。也就是說BeanShell在許多方面對於Java的用處就像Tcl/Tk對於C的用處一樣:BeanShell是可嵌入式的---你可以在運行時從你的應用程序調用BeanShell去動態的執行Java代碼或是為你的應用程序提供腳本擴展。相反,你也可以從BeanShell調用你的應用程序及其對象,它可以讓JAVA對象和API動態運行。正因為BeanShell是用JAVA寫的,所以它可以和你的應用程序運行在同一個JVM空間內,你也可以自由的傳遞實時對象的參照(References)到腳本代碼中並且作為結果返回。
主要特性
1.使用了JAVA的反射機制,可在運行時解釋JAVA語句和表達式。
2.可以透明的存取所有的JAVA物件和API。
4.有四種運行模式:命令行,控制台,Applet,遠程會話服務器(Remote Session Server)。
5.可以在Applet和Application中。
6.這個解釋器包只有不到175k(不包括約135k的實用工具)。
7.采用純JAVA語言。
9.它是完全免費的!
JAVA方面的特性
1.覆蓋了所有的Java語句和表達式語法。
2.強效的變量類型與方法。
3.原始值到正確數據類型處理能力。
4.完全Java算法,邏輯,與按位操作。
5.對象構造和多維數組處理。
6.具有break和return的循環及流程控制結構。
7.具有多形/重載特性的方法調用。
8.完全的異常(Exception)處理。
腳本特性
1.動態類型(無類型)的變量。
2.具有參數和返回值的腳本方法。
3.腳本對象。
4.AWT/SWING事件的腳本處理。
5.BeanShell腳本能使用Java Interface的implements屬性(要求jdk1.3+)。
6.方便的使用JavaBean的屬性,hashtable,和原始數據類型的封裝器(Wrapper)。
7.可擴展的工具命令集,像"load/save(bean)"和"eval(String)"。
8.支持namespace/scope修飾:this,super,global。
用途提示
1.與JAVA程序交互---試出對象特性,API和GUI對象。
2.作為應用程序的腳本擴展環境---從你的應用程序使用BeanShell代替JAVA編譯器來調用。
3.教育用途---放一個JAVA開發環境在你的java教學網頁上真是再好不過了。
4.科學和金融應用中的表達式求值程序---可以使用條件和循環計算復雜的表達式。
5.處理JAVABEAN的設置---用BeanShell的save()命令來寫。
6.調試用途---深入JVM玩一玩。
主頁:
http://www.beanshell.org/home.Html