一、引用库

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. 环形链表找入口,真的太妙了
  2. 梯度下降法的三种形式-BGD、SGD、MBGD
  3. 用 Flask 来写个轻博客 (11) — M(V)C_创建视图函数
  4. PHP算法 《树形结构》 之 伸展树(1) - 基本概念
  5. Hibernate调用存储过程
  6. 中小企业CRM评测-八百客
  7. 前端基础进阶(十):面向对象实战之封装拖拽对象
  8. 联合、枚举和类型别名 - C++快速入门13
  9. 对列表中k之前和之后的元素分别进行逆序
  10. [转载] python数据类型转换
  11. CPU 漏洞补丁对内核性能影响:4.15 比 4.11 快 7-9%
  12. Html5带来了什么?
  13. Swift 5 UIStackView中添加自动换行的Label
  14. Vue项目中安装axios
  15. autoit java_AutoIt3客户端和Java服务器端TCP通信
  16. 梦幻西游玩家最多的服务器,都说你是《梦幻西游》老玩家,这5个著名服务器你知道几个?...
  17. Perl/Tk入门学习(上)
  18. 大数据工程师面试考题
  19. echarts实现饼图阴影,改变饼图的颜色,改变引导线的颜色
  20. 极大似然估计详解,写的太好了!

热门文章

  1. getdate函数_PHP getdate()函数与示例
  2. 线性代数 向量长度_用户定义长度的向量| 使用Python的线性代数
  3. Java GregorianCalendar computeFields()方法与示例
  4. Python中的a+=a和a=a+a的区别(认真看完后,我相信你一定会回来感谢我的)
  5. react中引入html文件,在react中怎么引用js
  6. Linux下文件的多进程拷贝
  7. Arbitrage——判断正环Bellman-Ford/SPFA
  8. SPOJ - QTREE3Query on a tree again!——树链剖分
  9. 数据结构--双链表的创建和操作
  10. System V IPC之消息队列