68.动态编译,脚本引擎
1.动态编译
1.介绍
jdk1.6后引入动态编译机制
应用场景:
可以做一个浏览器端编写java代码,上传服务器编译和运行的在线评测系统
服务器动态加载某些类文件进行编译
两种方法:
通过Runtime调用编译器,启动显得进程去操作
通过JavaCompiler动态编译
通过反射运行编译好的类
2.通过JavaCompiler动态编译
第一个null:为编译器提供参数
第二个null:得到java编译器的输出信息
第三个null:接受编译器的错误信息
sourceFile:可变参数(String数组)能传入一个或多个java源文件的地址
返回值:0代表编程成功,非0则编译失败
3.通过反射运行编译好的类
2.通过脚本引擎执行js代码
JAVA脚本引擎是从JDK6.0之后添加的新功能。