仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1820|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA教程之静态编译实例代码

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:44:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。编译|静态静态编译实例代码。十分复杂。我看也不必注解了吧。
importjava.io.*;
importjava.util.*;
importjava.lang.reflect.*;
importjava.io.File;

publicclassCompileTest{
staticcom.sun.tools.javac.Mainjavac=newcom.sun.tools.javac.Main();
publicstaticvoidmain(String[]args){
try{
Filefile=File.createTempFile("RunTime",".java",newFile(System.getProperty("user.dir")));
Stringfilename=file.getName();
Stringclassname=filename.substring(0,filename.indexOf(.));
PrintWriterout=newPrintWriter(newFileOutputStream(file));
out.println("publicclass"+classname+"{");
out.println("publicstaticvoidmain(String[]args){");
out.println("System.out.println("Yes!");");
out.println("}}");
out.flush();
out.close();
String[]arg=newString[]{"-d",System.getProperty("user.dir"),filename};
intstatus=javac.compile(arg);
Classcls=Class.forName(classname);
Methodmain=cls.getMethod("main",newClass[]{String[].class});
main.invoke(null,newObject[]{newString[0]});
file.delete();
file=newFile(classname+".class");
file.delete();
}catch(Exceptione){e.printStackTrace();}

}
}


java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 00:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表