Java SE 6 內建腳本支援 (JSR 223),預設提供 Mozilla Rhino (JavaScript),透過標準介面可整合 PHP、Ruby、Groovy 等任意腳本語言,讓 Java 應用擁有動態擴展能力。
ScriptEngineManager 管理腳本引擎,支援依副檔名、MIME 類型、名稱三種方式獲取引擎。eval() 執行腳本並返回結果,put()/get() 實現 Java 與腳本變數雙向交換。
Compilable 介面的引擎可預編譯腳本 (compile()),多次調用效能大增Invocable 介面可依名稱調用腳本函式 (invoke()),支援多函式選擇性執行getInterface() 讓腳本物件實作 Java 介面 (如 Runnable),實現腳本異步執行文中提供完整範例:列出可用引擎、執行 JavaScript 取得時間問候語、Java 傳字串給 JS 反轉後取回、預編譯計數器函式多次調用、動態調用反轉函式、腳本實作 Runnable 多執行緒執行。所有範例均可直接在 Java SE 6 編譯執行。
腳本引擎為規則引擎、動態配置、使用者自訂邏輯等場景提供強大支撐,是 Java 應用靈活性的關鍵拼圖。