动态编译
动态编译是6.0引入的功能。
动态编译应用场景:可以做一个浏览器端编写Java代码,上传服务器编译和运行的在线评测系统,服务器动态加载某些类文件进行编译。
动态编译的两种方法:
通过Runtime调用javac,启动新的进程去操作。
Runtime run = Runtime.getRuntime();
Process process = run.exec("java -cp D:\\workspace\\myJava HelloWorld");
通过JavaCompiler动态编译。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null,"D:\\workspace\\myJava\\HelloWorld.java");
System.out.println(result == 0 ? "编译成功" : "编译失败");
compiler.run()方法有四个参数。
第一个参数:为Java编译器提供参数;
第二个参数:得到Java编译器的输出信息;
第三个参数&#x