JDK 6動態編譯—內存字符串編譯方式
作者:qiang106
JDK6開始提供了動態編譯的API,在許多應用場景都可以用得著,如動態加載(修改)服務、高性動態業務邏輯實現(用腳本或模板引擎實現效率滿足不了需求)等都非常好用。
JDK6開始提供了動態編譯的API,在許多應用場景都可以用得著,如動態加載(修改)服務、高性動態業務邏輯實現(用腳本或模板引擎實現效率滿足不了需求)等都非常好用。
API對應的接口都在javax.tools包下面,常用編譯方式有基于文本文件、內存字符串等,實際上基于URI的字節流都可以,也就是遠程Java源代碼也可以。對于常用的已有文件形式的動態編譯網上的實例已經非常多,我在這里介紹下動態編譯內存中以字符串的形式。
簡單的代碼流程如下:
完整的測試類:
Class TestDyCompile
我在這里的具體業務類為dyclass.Foo,也就是我們需要動態編譯的類,為了方便寫業務的調用代碼,也可以讓我們的業務類實現一個接口,然后通過反射獲得具體子類強制轉換來調用。
Test接口:
另外,在代碼中還有這么一段:
責任編輯:金賀
來源:
ITEYE博客


相關推薦
2009-07-09 10:05:55
2009-12-17 13:23:25
2009-11-26 13:11:24
2009-08-27 16:29:18




