初識Rhino
Rhino,就是我期盼了多年的java平臺上的javascript。由于這個怪模怪樣的名字和宣傳的不力加上我的孤陋寡聞,居然到這幾天才聽說它。
前陣子我試用過另一種java平臺上的腳本語言groovy,因為據說它將會成為標準。確實groovy有很多吸引人的特性,比如數據庫訪問、groovlet,gsp,閉包,不需要編譯直接運行、動態類型都很讓人振奮,可是由于在包引用上的問題和運行效率的問題上我都沒有找到合適的解決方案,我暫時對它失去了興趣,期待它以后的版本可以有更好的表現,比如可以在其中嵌入java代碼,而不是在java里面嵌入groovy代碼。
Rhino對我最大的誘惑是,寫javascript多我來說比可能寫中文還要來的簡單。幾乎不用學習什么新的東西(當然有一些以前腳本開發里面沒有的新東西,比如print語句,可是對于java程序員來說不是問題),除了要配置一下開發環境(很多編輯器本來就都支持javascript的高亮顯示,只要添加一個java org.mozilla.javascript.tools.shell.Main 用戶工具就可以很方便的開始編碼調試了,我用的是editplus),隨便在以前的代碼庫里面拿一段代碼出來放進去,運行起來:







































嗯,我要承認我沒什么新意,還是以前在比較groovy運行效率時用的9皇后問題,除了把document.write改成print,其他都沒改。運行一下:
C:\Documents and Settings\Administrator>java org.mozilla.javascript.tools.shell.Main E:/test/queens.js
......
9,7,4,2,8,6,1,3,5
totle results:352
time used:892
比java慢了,不過groovy快。
不過注意到,在Rhino的控制臺下面 load ("e:/test/queens.js") 的話運行速度會慢下來一倍,應該是load函數的問題