- 浏览: 1358072 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 2246首先 需要下载jar包 bcprov-jdk15-145.ja ... -
DecimalFormat的用法介绍
2012-02-06 14:16 2507import java.text.*; import ... -
tomcat,jdk,maven环境变量配置(备忘)
2011-12-25 10:24 1437环境变量: CATALINA_HOME D:\P ... -
java获得指定时间几天前或几天后的日期
2010-01-14 09:28 8879/** * 得到几天前的时间 * * ... -
动态读取配置文件
2009-08-04 11:30 2514import java.io.File; import ja ... -
JAVA对数字证书的常用操作
2009-07-12 18:42 1461一需要包含的包 import java.security.* ... -
签字证书例子
2009-07-12 18:31 1649import java.io.FileInputStr ... -
list,set,map,数组间的相互转换
2009-07-01 16:10 29341.list转set Set set = new HashSe ... -
防止java反编译的一些常用方法
2009-02-12 14:33 21211.隔离Java程序 最 ... -
操作数组
2009-01-20 12:48 1273List list1 = new ArrayList() ... -
java写入文件时庄和薛字的问题
2008-12-26 10:47 1512今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现 ... -
Hessian的学习笔记
2008-12-01 12:20 12591- 整个jar很小,200多K,3.1版本的,当然,我下载的 ... -
编写一个Java程序,对指定文本进行数字签名(文本随意)
2008-10-08 14:12 2886一:需要包含的包 import java.security. ... -
java的property配置文件的用法
2008-07-29 16:26 1773package configuration; ... -
统一异常处理
2008-07-16 16:47 1986package com.bjsxt.oa.manager; ... -
Java反射机制之代理模式
2008-07-02 23:12 1581代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问 ... -
java.lang.reflect.Array的应用
2008-07-02 23:11 1906java.lang.Array 类提供了动态创建和访问数组元 ... -
Java语言的反射机制
2008-07-02 23:10 1696在JAVA运行环境中,对 ... -
@Documented Annotation的使用
2008-07-02 23:09 2489@Documented Annotation的使用: @Do ... -
有关Annotation的继承
2008-07-02 23:09 4073有关Annotation的继承说明: 1、JDK文档中的说明是 ...
相关推荐
添加动态执行的编译环境 options 是个集合,添加内容,字符集,classpath等 * 6.传入JavaFileObject的java文件,是个集合,创建JavaSourceObject实现这个接口,Kind.SOURCE.extension = '.java' * 7.创建任务并...
Java提供了这样的能力,让我们可以直接在Java程序中运行JS代码。这主要得益于Oracle公司在Java 6版本引入的一个新特性——Java Scripting API(JSR 223),它允许Java程序执行多种脚本语言,包括JavaScript。 ### 1...
Java代码快捷编译运行工具是针对初学者设计的一款实用程序,旨在简化Java编程过程中常见的编译和运行步骤。对于刚接触Java编程的开发者来说,通过命令行(CMD)进行源码的javac编译和java运行可能会感到繁琐,而这款...
内存中动态编译执行Java代码是一种高级编程技巧,它允许我们在程序运行时根据需要创建、编译和执行新的Java代码。这种技术在某些场景下非常有用,比如在元编程、插件系统、自定义脚本执行或者代码热更新中。在Java中...
Java动态代码执行是一种在运行时编译和执行代码的技术,它可以极大地提高程序的灵活性和可扩展性。在Java中,Groovy是一个强大的脚本语言,它与Java语法兼容,并且可以无缝集成到Java应用程序中,使得动态代码执行变...
标题中的“用BeanShell来运行Java脚本”指的是利用BeanShell这个开源库在Java环境中执行动态的、交互式的Java代码。BeanShell是一个轻量级的Java Scripting引擎,它允许你在运行时执行Java代码,无需编译,极大地...
在实际应用中,动态生成、编译和运行Java代码的示例包括: 1. **元编程**:例如,Lombok库使用注解处理器在编译时生成getter、setter等方法。 2. **插件系统**:如OSGI框架,允许在运行时安装、卸载和更新插件,每...
比如,当需要实现动态配置的业务规则时,可以通过这种方式将用户定义的规则转换为Java代码并加载执行。再比如,某些性能敏感的系统可能使用这种方法来即时生成和优化特定场景的代码,以达到更高的运行效率。 总的来...
1.codeFactory: Java代码生成,依赖rapid-generator.4.0.6.jar, 支持自定义模板生成代码, 弱业务下完全解放体力劳动. 2.ssm模板实现:pojo,dao,daoimpl,service,serviceimpl,controller,各mapper.xml 代码自动生成, 3....
在某些情况下,开发者可能需要将已有的C++代码转换为Java代码,以便在Java平台上运行或利用Java的生态系统。 标题“C++代码转Java工具”暗示了一个软件或服务的存在,它的功能是自动化C++源代码到Java源代码的转换...
此外,如果Java代码中包含了一些特定于Java平台的API调用,这些部分在Pascal中可能需要替换为相应的函数或库。 总的来说,Java2Pas是一个方便的工具,能够帮助开发者跨越Java和Pascal之间的语言障碍,提高代码复用...
在这个"OnlyOffice官网示例Java代码"中,我们可以看到官方提供的Java代码示例,这些示例经过修改后可以直接运行,只需简单地调整服务器IP地址即可。 首先,让我们了解一下OnlyOffice的API接口。OnlyOffice 提供的...
有了此工具,当偶然有个想法想测验、实现时,无需开电脑直接在手机上即个录入java代码并编译运行
Java动态生成代码并编译载入是一个高级的编程技术,主要用于那些需要在应用程序运行时根据某些模板和数据动态地生成、编译和加载Java代码的场景。这种技术在需要高度定制化处理或是运行时参数化生成业务逻辑的系统中...
java代码命令行编译在手机上运行的示例。 chcp 65001 javac -encoding utf-8 ./org/test/TestJava.java dx --dex --output =D:\pro\TestJava.dex .\org\test\TestJava.class
当需要定期或按需运行Java程序时,利用这两种脚本语言可以极大地提高工作效率。下面将详细介绍如何使用shell脚本(适用于Unix/Linux系统)和bat脚本(适用于Windows系统)来运行Java程序。 **shell脚本运行Java程序...
批处理执行Java代码是一种在没有用户交互的情况下自动化运行Java程序的方法。这通常涉及到创建一个批处理脚本(在Windows系统中是`.bat`文件,在Unix或Linux系统中是`.sh`文件),然后在这个脚本中调用Java命令来...
描述中的"java to c# java to csharp java2c# java代码转c#"进一步强调了转换的目标,表示用户可能已经花费了一定的时间寻找如何将Java代码转换为C#的方法,这可能包括在线搜索、阅读文档或者尝试不同的工具。...
linux+python+appium运行java代码dmeo
用户只需运行这个程序,然后提供C#代码文件作为输入,它就能生成对应的Java代码。这样的工具简化了代码转换的过程,但需要注意的是,自动转换可能无法处理所有复杂情况,如特定的C#特性或库调用,这些在Java中可能...