一、引用库

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中动态编译的简单使用相关推荐

  1. 【java】深入理解Java的动态编译

    文章目录 1.概述 2. 前提 3. 基本原理# 4. JDK动态编译 4.1 实现JavaFileObject 4.2 实现ClassLoader 4.3 实现JavaFileManager 4.4 ...

  2. Java中动态加载字节码的方法 (持续补充)

    文章目录 Java中动态加载字节码的方法 1.利用 URLClassLoader 加载远程class文件 2.利用 ClassLoader#defineClass 直接加载字节码 2.1 类加载 - ...

  3. JAVA中一维数组的简单使用!

    JAVA中一维数组的简单使用! 一.数组的概述 1.数组的常见概念: 数组名 下标(或索引) 元素 数组的长度 2. 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用 ...

  4. Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信

    本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...

  5. Java中利用socket实现简单的服务端与客户端的通信(基础级)

    在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...

  6. java中List Stream的简单使用

    java中List Stream的简单使用 一,api入门案例 实体类 public class Person {private int id;private String name;private ...

  7. java编译时注解_简单介绍 Java 中的编译时注解

    1. 前言 上一篇 主要介绍了什么是 注解 (Annotation) 以及如何读取 运行时注解 中的数据, 同时用注解实现了简单的 ORM 功能. 这次介绍另一部分: 如何读取 编译时注解 ( Ret ...

  8. 在Java中动态传参调用Python脚本

    最近,又接触到一个奇葩的接口,基于老板不断催促赶时间的情况下,在重写java接口和复用已有的python脚本的两条路中选择了后者,但是其实后者并没有好很多,因为我是一个对python的认识仅限于其名称 ...

  9. Java中的编译错误和运行错误如何分辨

      昨天小白作者经历了一场冷酷的考试洗礼,4.5个编译错误和运行错误的判断彻底把我整蒙圈了.相信有很多小伙伴跟我一样蒙圈,不过经过不懈的努力查找与思考,总结了自己的一些想法跟大家分享一下~~   在解 ...

最新文章

  1. 为什么使用缩进来分组语句?15个为什么,帮助你更好的理解Python!
  2. OnsenUI 前端框架(三)
  3. sigmoid函数求导与自然指数
  4. vc++操作mysql数据库的技巧
  5. python如何下载库_python中如何下载库
  6. Matcher类:(转)
  7. LeetCode-Letter Combinations of a Phone Number-电话号码字母组合-DFS
  8. 金色装饰素材,用这个技巧创造节日的感觉,完美
  9. 测试用例集-8.公交卡测试用例
  10. Google的Flutter工具允许开发者开发跨平台应用
  11. morphia查询Mongo数据库通过ReadPreference主从数据库查询切换方法
  12. 学生的认知风格类型有哪些_《认知天性》读书笔记
  13. 图解设计模式:行为型模式之观察者模式
  14. 各种版本的python安装pyHook----解决找不到源的问题
  15. 中国电信5G技术无线频率
  16. html插入图片后在网页显示不出来
  17. html写出日出,有关描写日出的优美段落
  18. [转载]matlab中分号、冒号、逗号等常用标点符号的作用
  19. 在VS2010下利用vue开发团队项目
  20. 她力量系列一丨复旦大学黄萱菁教授:期待更多女性领会计算机科学的奥妙

热门文章

  1. Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询
  2. c语言switch为什么要加break,c语言学习笔记 switch case语句为什么要加break
  3. 2016CCPC网络赛赛后总结——回顾与反思
  4. uva 10534——Wavio Sequence
  5. 服务器加根网线用不用修改路由器,安装设置无线路由器需要用几根网线?
  6. C++基类指针指向派生类(指针)
  7. MySQL千万数据量深分页优化
  8. python-3.8.0 新特性之赋值表达式
  9. Spring Boot教程(11) – 理解注解@ControllerAdvice
  10. 解决idea 中web项目无法正常显示的问题