动态编译
- 动态编译的应用场景:
- 可以做一个浏览器端编写java代码,上传服务器编译和运行的在线评测系统。
- 服务器动态加载某些类文件进行编译
- 动态编译的两种做法:
- 通过Runtime调用javac,启动新的进程去操作
Runtime run = Runtime.getRuntime(); Process process = run.exec("javac -cp d:/myjava/ HelloWorld.java");
- 通过
JavaCompiler
动态编译
- 通过Runtime调用javac,启动新的进程去操作
通过JavaCompiler动态编译
- 第一个参数:为java编译器提供参数
- 第二个参数:得到 Java 编译器的输出信息
- 第三个参数:接收编译器的 错误信息
- 第四个参数:可变参数(是一个String数组)能传入一个或多个 Java 源文件
- 返回值:0表示编译成功,非0表示编译失败
通过Runtime.getRuntime()运行启动新的进程运行
Runtime run = Runtime