原理性内容
原理
coder鹏鹏
这个作者很懒,什么都没留下…
展开
-
java动态性(3):字节码操作
一、介绍 1、java动态性常用实现方式:反射、字节码操作。 2、.java文件经过javac编译成.class文件,.class文件被JVM拿去生成的就是字节码文件。 3、操作字节码可以实现如下功能: (1)动态生成新的类。 (2)动态改变某个类的结构(添加、删除、修改 新的属性/方法)。 4、操作字节码优势: (1)比反射开销小。 (2)JAVAasist性能高于反射,小于ASM。 二、常见字...原创 2020-02-19 09:52:07 · 190 阅读 · 0 评论 -
java动态性(2):Rhino脚本引擎执行JavaScript
示例 public class Test { public static void main(String[] args) throws ScriptException, NoSuchMethodException { //获得脚本引擎 ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine se = sem...原创 2020-02-18 16:25:35 · 218 阅读 · 0 评论 -
java动态性(1):动态编译
一、通过JavaCompiler动态编译 1、第一个参数:为java编译器提供参数。 2、第二个参数:得到java编译器的输出信息 3、第三个参数:接受编译器的错误信息。 4、第四个参数:可变参数(是一个String数组)能传入一个或者多个java源文件 4、返回值:0代表编译成功,非0代表编译失败。 public static int compileFile(String sourceFile)...原创 2020-02-15 23:20:15 · 129 阅读 · 0 评论