- 浏览: 1339638 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的方式,以下代码可参考(在JDK 1.5+平台上运行通过):
public static void main(String[] args) { // PrintWriter out; // PrintStream myOut = new PrintStream(out); // System.setOut(myOut); // System.setErr(myOut); int i = 10; String code = "System.out.println(\"Hello World!\"+(13+2*5/3));"; code += "for(int i=0;i<" + i + ";i++){"; code += " System.out.println(Math.pow(i,2));"; code += "}"; try { run(code); } catch (Exception e) { e.printStackTrace(); } } private synchronized static File compile(String code) throws Exception { File file = File.createTempFile("JavaRuntime", ".java", new File(System .getProperty("user.dir"))); file.deleteOnExit(); // 获得类名 String classname = getBaseFileName(file); // 将代码输出到文件 PrintWriter out = new PrintWriter(new FileOutputStream(file)); out.println(getClassCode(code, classname)); out.close(); // 编译生成的java文件 String[] cpargs = new String[] { "-d", System.getProperty("user.dir") + "\\WebRoot\\WEB-INF\\classes", file.getName() }; int status = Main.compile(cpargs); if (status != 0) { throw new Exception("语法错误!"); } return file; } private static synchronized void run(String code) throws Exception { String classname = getBaseFileName(compile(code)); new File(System.getProperty("user.dir") + "\\WebRoot\\WEB-INF\\classes\\" + classname + ".class") .deleteOnExit(); try { Class cls = Class.forName(classname); Method main = cls.getMethod("method", null); main.invoke(cls, null); } catch (Exception se) { se.printStackTrace(); } } private static String getClassCode(String code, String className) { StringBuffer text = new StringBuffer(); text.append("public class " + className + "{\n"); text.append(" public static void method(){\n"); text.append(" " + code + "\n"); text.append(" }\n"); text.append("}"); return text.toString(); } private static String getBaseFileName(File file) { String fileName = file.getName(); int index = fileName.indexOf("."); String result = ""; if (index != -1) { result = fileName.substring(0, index); } else { result = fileName; } return result; }
发表评论
-
项目中用到的数字证书的创建,签名实现
2012-07-15 20:17 2177首先 需要下载jar包 bcprov-jdk15-145.ja ... -
DecimalFormat的用法介绍
2012-02-06 14:16 2443import java.text.*; import ... -
tomcat,jdk,maven环境变量配置(备忘)
2011-12-25 10:24 1366环境变量: CATALINA_HOME D:\P ... -
java获得指定时间几天前或几天后的日期
2010-01-14 09:28 8819/** * 得到几天前的时间 * * ... -
动态读取配置文件
2009-08-04 11:30 2479import java.io.File; import ja ... -
JAVA对数字证书的常用操作
2009-07-12 18:42 1425一需要包含的包 import java.security.* ... -
签字证书例子
2009-07-12 18:31 1609import java.io.FileInputStr ... -
list,set,map,数组间的相互转换
2009-07-01 16:10 28571.list转set Set set = new HashSe ... -
防止java反编译的一些常用方法
2009-02-12 14:33 20951.隔离Java程序 最 ... -
操作数组
2009-01-20 12:48 1244List list1 = new ArrayList() ... -
java写入文件时庄和薛字的问题
2008-12-26 10:47 1485今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现 ... -
Hessian的学习笔记
2008-12-01 12:20 12271- 整个jar很小,200多K,3.1版本的,当然,我下载的 ... -
编写一个Java程序,对指定文本进行数字签名(文本随意)
2008-10-08 14:12 2848一:需要包含的包 import java.security. ... -
java的property配置文件的用法
2008-07-29 16:26 1744package configuration; ... -
统一异常处理
2008-07-16 16:47 1956package com.bjsxt.oa.manager; ... -
Java反射机制之代理模式
2008-07-02 23:12 1547代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问 ... -
java.lang.reflect.Array的应用
2008-07-02 23:11 1868java.lang.Array 类提供了动态创建和访问数组元 ... -
Java语言的反射机制
2008-07-02 23:10 1658在JAVA运行环境中,对 ... -
@Documented Annotation的使用
2008-07-02 23:09 2465@Documented Annotation的使用: @Do ... -
有关Annotation的继承
2008-07-02 23:09 4034有关Annotation的继承说明: 1、JDK文档中的说明是 ...
相关推荐
添加动态执行的编译环境 options 是个集合,添加内容,字符集,classpath等 * 6.传入JavaFileObject的java文件,是个集合,创建JavaSourceObject实现这个接口,Kind.SOURCE.extension = '.java' * 7.创建任务并...
notepad++与jdk配置使用可以运行java代码,不知道的小伙伴有福啦,欢迎下载
Java直接运行JS代码样例 java中调用js脚本 java中直接调用js代码
java 动态编译.java文件,动态运行类 _1.3
方便一些初学java同学不用每次手动进入cmd里编译运行代码..有eclipse等集成环境的另当别论.
1.codeFactory: Java代码生成,依赖rapid-generator.4.0.6.jar, 支持自定义模板生成代码, 弱业务下完全解放体力劳动. 2.ssm模板实现:pojo,dao,daoimpl,service,serviceimpl,controller,各mapper.xml 代码自动生成, 3....
Java语言-动态编译代码并热加载类,js热加载
wsdl生成java代码的工具,运行wsdl2java.cmd ,可根据代码的实际需求修改成路径, wsdl生成java代码的工具,运行wsdl2java.cmd ,可根据代码的实际需求修改成路径
有了此工具,当偶然有个想法想测验、实现时,无需开电脑直接在手机上即个录入java代码并编译运行
java代码命令行编译在手机上运行的示例。 chcp 65001 javac -encoding utf-8 ./org/test/TestJava.java dx --dex --output =D:\pro\TestJava.dex .\org\test\TestJava.class
java 代码,老师给的,每个都能运行。包括串等基本知识,及类,线程,JFRAME,数据库连接等
影响java的运行效率的几点注意事项,在开发中使用可使程序运行的的更稳定
linux+python+appium运行java代码dmeo
这意味着,开发者编写的Java代码可以成为iOS应用程序的一部分,且无需对生成的文件进行编辑。 J2ObjC 支持大多数 Java 语言和运行环境的客户端应用特性,包括异常、内部类和匿名类、泛型、线程和反射,也支持 JUnit...
Java源代码,包含了所有以java开头的包
Java五子棋算法和代码,新手java五子棋完整代码【完美运行】 用Java编写的五子棋,完美可以运行。对初学者很有参考价值 Java五子棋算法和代码,新手java五子棋完整代码
优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,...
Metrics是一个java库,能够为你提供无与伦比的代码运行洞察功能。 它是由yammer开发的,用于检测jvm上后端服务的运行状况。Metrics提供了一个强大的工具集,用于度量你的生产环境上关键组件的行为。 Metrics提供了一...
java图形界雷霆飞机射击大战小游戏源代码(可直接运行).7zjava图形界雷霆飞机射击大战小游戏源代码(可直接运行).7zjava图形界雷霆飞机射击大战小游戏源代码(可直接运行).7zjava图形界雷霆飞机射击大战小游戏源...
java基础学习的源代码,能够帮助我们更加理解java的多态、封装、接口等