new File(file.getParent(), classname + “.class”).deleteOnExit();
try {
// 访问这个类
Class cls = Class.forName(classname);
//映射main方法
Method main = cls.getMethod(“main”,new Class[] { String[].class });
//执行main方法
main.invoke(null, new Object[] { new String[0] });
}catch (SecurityException se) {
…
}
}
/**打印调试信息*/
private static void debug(String msg) {
System.err.println(msg);
}
/**根据一个java源文件名获得类名*/
private static String getClassName(String filename){
return filename.substring(0,filename.length()-5);
}
/**从控制台获得用户输入的Java代码段*/
…
}
编译运行上述代码 , 在please input java code提示下输入以下代码:
for(int i=0;i10;i++){System.out.println(“this is:”+i);}
运行结果如下所示:
Please input java code:
for(int i=0;i10;i++){System.out.println(“this is:”+i);}
wait....
--------------------
this is:0
this is:1
this is:2
this is:3
this is:4
this is:5
this is:6
this is:7
this is:8
this is:9
总结
在大中型企业应用系统平台中 , 使用代码动态编译技术结合OO编程模型,可在系统不菪机条件下保证系统的可扩展性和伸缩性 。如果你是一个Java程序员,稍加调整以上代码 , 还可以帮助调试小段的Java代码.
【动态执行java代码块 java动态执行代码片段】关于动态执行java代码块和java动态执行代码片段的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 修水县小程序开发公司,关注修水微网公众号
- 清除文本框java代码,清除文本框中内容的命令是
- mysql命令行怎么清除 mysql命令行清空
- sqlserver约束或,sqlserver 约束
- 苹果11ios14快捷指令不能用,ios14快捷指令不能使用
- java模拟记事本代码,java记事本代码完整版
- C语言的布尔函数怎么用 c语言布尔值怎么用
- 拍摄需要什么执照,办理拍摄许可证需要的材料
- 微软电脑数据上传国外服务器,电脑上传至服务器