`

JAVAC动态编译

 
阅读更多

原理很简单,使用JDK提供的JAVAC命令编译并反射调用。

从功能上:只能执行JAVA代码,如果要执行JS可以交给前台处理(借助隐藏的IFRAME)或者使用JDKJS脚本引擎

从性能上:每次执行时要经过:生成JAVA代码=》编译=》执行。可能这块比较耗性能,看下大家有没好的方法或意见?

附件为工程完整源代码。直接部署即可。

大致原理:

分享到:
评论
1 楼 xubindehao 2013-01-23  
编译后的字节码放到缓存中

相关推荐

    慎用动态编译

    "javacTest"可能是博主为了演示动态编译效果而创建的一个测试项目,其中包含了编译相关的示例代码或测试用例。 总之,慎用动态编译意味着在追求性能优化的同时,也要注意其潜在的负面影响,并通过深入学习和使用...

    javac_可以编译目录.rar

    在 JDK 9 中,javac 进行了一些改进,包括支持以目录作为参数进行编译,这使得批量处理大量源文件变得更加方便。 在 JDK 8 及以前的版本中,如果想要编译一个目录下的所有源文件,你需要列出每一个 .java 文件。但...

    javac源代码,java具体编译步骤

    以下是对`javac`源代码及Java编译步骤的详细解析。 1. **词法分析**:编译的第一步是读取源代码文件,并将其分解为一个个最小的有意义单元——词法单元或标记。这些标记包括关键字、标识符、操作符、常量和分隔符等...

    Java 动态编译源码并调用

    Java 动态编译源码并调用是Java开发中的一种高级技巧,它允许程序在运行时根据需要编译和执行新的代码。这种能力在某些场景下非常有用,例如插件系统、元编程或者在运行时自动生成和执行特定逻辑。下面我们将详细...

    java动态编译 ,写了一个jsp在页面上编辑java代码,然后servlet动态编译并执行main方法

    3. **使用Javac或JDT进行编译**:Java提供了`javac`命令行工具进行编译,但考虑到在服务器环境中,更常见的是使用Java Development Toolkit (JDT)的API,如`org.eclipse.jdt.internal.compiler.Compiler`,因为它...

    java 动态编译.java文件,动态运行类

    首先,Java的`javac`命令行工具是用于编译Java源代码的标准方式,但在程序中实现动态编译则需要使用`javax.tools`包中的接口和类。这个包提供了一组API,允许我们直接在程序中进行编译操作,而无需调用外部的`javac`...

    Java类动态加载(一)——java源文件动态编译为class文件

    对于Java源文件动态编译,我们可以使用Java的内置工具`javac`或`javax.tools.JavaCompiler` API。`javac`是命令行工具,而`JavaCompiler` API则提供了在程序中编译Java源代码的能力。以下是一个简单的示例,展示了...

    javac 编译出现 软件包 javax.servlet.http 不存在

    NULL 博文链接:https://xjg396.iteye.com/blog/1973026

    Dos环境下使用javac编译与java执行多个包下的.java文件

    在DOS环境下使用`javac`编译与`java`执行多个包下的`.java`文件是一项常见的Java开发任务。这通常涉及到对项目结构的理解、命令行操作以及掌握Java的编译和运行流程。下面我们将详细讲解这个过程。 首先,我们需要...

    java 动态编译.java文件,动态运行类 _1.2

    总结来说,Java的动态编译涉及使用`JavaCompiler`接口和`StandardJavaFileManager`来调用Javac,以及在运行时加载和实例化新生成的类。这个功能为开发者提供了更大的灵活性,可以在运行时根据需求编译和执行代码。在...

    java 动态编译.java文件,动态运行类 _1.3

    通常情况下,Java程序在运行前需要通过`javac`命令将.java源文件编译成.class字节码文件,然后通过`java`命令执行。但在某些场合,我们可能希望在程序运行时动态地编译新的.java文件,以便快速响应代码变动。 Java...

    javac 源码 javac 源码

    了解 javac 的源码对于深入理解 Java 编译过程以及优化代码性能具有重要意义。 1. **Java 编译过程**: - **词法分析**:javac 首先将源代码分解成一个个称为标记的单元,例如关键字、标识符、常量等。 - **语法...

    java编译的javac.jar

    java编译的javac.jar

    Java零基础 - 使用javac编译Java程序.md

    ### Java零基础 - 使用javac编译Java程序 在计算机编程领域中,Java是一种广泛使用的高级编程语言,因其跨平台性、安全性以及丰富的类库支持而受到开发者的青睐。对于初学者而言,掌握如何编译Java程序是入门的第一...

    Java 动态编译小工具

    - **编译引擎**:基于Java的Javac或者其他编译API,将源代码转换为字节码。 - **类加载器**:负责将编译后的字节码加载到JVM中,使得它们能够被运行时环境识别和执行。 - **控制台接口或API**:提供用户交互界面或...

    javac编译成功用java运行class文件出现“找不到或无法加载主类”的问题解决起来很简单.doc

    当我们使用 javac 编译 Java 源文件时,javac 会将 Java 源文件编译成 Class 文件,然后我们可以使用 java 命令来运行该 Class 文件。但是,如果我们不正确地配置环境变量和 ClassPath,可能会出现“找不到或无法...

    java与javac命令详解

    javac 命令用于编译 Java 程序源代码,生成字节码文件,而 java 命令用于执行已经编译的字节码文件。 javac 命令的语法为:javac [option] source 其中,option 是可选项,可以包括以下选项: * -classpath <路径...

    Java6动态编译案例

    在Java6之前,如果需要在程序运行时编译Java源代码,通常会借助于`javac`命令行工具或者第三方库,如Apache Ant或Maven。但是这种方式需要调用外部进程,增加了系统的复杂性,且效率较低。Java6引入的`javax.tools`...

Global site tag (gtag.js) - Google Analytics