首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础-动态编译

Java基础-动态编译

作者头像
cwl_java
发布2019-11-12 13:09:50
6870
发布2019-11-12 13:09:50
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/103019587

动态编译
  • 动态编译的应用场景:
    • 可以做一个浏览器端编写java代码,上传服务器编译和运行的在线评测系统。
    • 服务器动态加载某些类文件进行编译
  • 动态编译的两种做法:
    • 通过Runtime调用javac,启动新的进程去操作 Runtime run = Runtime.getRuntime(); Process process = run.exec("javac -cp d:/myjava/ HelloWorld.java");
    • 通过JavaCompiler动态编译
通过JavaCompiler动态编译
在这里插入图片描述
在这里插入图片描述
  • 第一个参数:为java编译器提供参数
  • 第二个参数:得到 Java 编译器的输出信息
  • 第三个参数:接收编译器的 错误信息
  • 第四个参数:可变参数(是一个String数组)能传入一个或多个 Java 源文件
  • 返回值:0表示编译成功,非0表示编译失败
通过Runtime.getRuntime()运行启动新的进程运行
Runtime run = Runtime.getRuntime(); 
Process process = run.exec("java -cp d:/myjava HelloWorld"); // Process process = run.exec("java -cp "+dir+" "+classFile);
通过反射运行编译好的类
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 动态编译
  • 通过JavaCompiler动态编译
  • 通过Runtime.getRuntime()运行启动新的进程运行
  • 通过反射运行编译好的类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档