JAVA中动态编译的简单使用
生活随笔
收集整理的這篇文章主要介紹了
JAVA中动态编译的简单使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、引用庫
pom文件中申明如下:
<dependencies><!-- https://mvnrepository.com/artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/com.github.henryhuang/dynamiccompiler --><dependency><groupId>com.github.henryhuang</groupId><artifactId>dynamiccompiler</artifactId><version>0.1.0</version></dependency></dependencies>?
二、測試代碼
import com.github.henryhuang.dynamiccompiler.ClassGenerator; import org.junit.Test;import java.lang.reflect.Method;public class HelloTest {@Testpublic void test() {ClassGenerator builder = new ClassGenerator(".");try {Class<?> testclass = builder.generate("TestClass", "" +"public class TestClass{" +" public static String execute(String[] args){" +" System.out.println(\"Test!\"); " +" return args[0];" +" }" +"}");Method method = testclass.getMethod("execute", String[].class);for (int i = 0; i < 100; i++) {String[] params = {"宋柱柱" + i, "def"};Object result = method.invoke(null, (Object) params);System.out.println("result:" + result);}} catch (Exception ex) {ex.printStackTrace();}} }?
三、運行結果
總結
以上是生活随笔為你收集整理的JAVA中动态编译的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女的梦到自己摘棉花好不好
- 下一篇: 在Packet Tracer中路由器静态