当前位置: 首页 > 面试题库 >

Java 5中动态编译的选项

房子昂
2023-03-14
问题内容

除了Janino之外,还有其他选项可以在v5中即时编译和执行Java代码吗?我知道v6具有Compiler API,但是我需要使用v5 VM。

我基本上需要获取一个包含完整Java类的字符串,对其进行编译并将其加载到内存中。


问题答案:

您想要的是Janino之类的东西。我们已经使用了多年。您给它(接近标准)的代码,并给您类,以便您可以使用它们。它实际上有很多不同的模式,并支持1.5语法糖和自动装箱等。

如果调用javac,不仅必须做好一切准备,而且还必须处理将类放置在正确的位置或制作其他的类加载器。

Janino非常简单。它应该正是您要寻找的。



 类似资料:
  • 主要内容:1.概述,2.Compiler,3.AdaptiveCompiler,4.AbstractCompiler,5. JavassistCompiler1.概述 在 Java 语言中,大多数情况下,我们已经编写好 Java 类,并编译成 Class 文件进行运行。但是在一些场景下,例如动态代理,需要运用到动态编译的技术 例如,SPI中的 createAdaptiveExtensionClassCode方法中,我们可以看到如下代码: 调用 Compiler#compile(code, cla

  • 我正在重新编写这个问题,因为我认为原文不太清楚。 基本上,我有一个“wrapper”指令,在该指令中,我试图动态地将属性添加到一个已包装(转包)的元素中。我可以让它工作,但Angular似乎不知道一旦添加了新属性。 如果我使用,Angular确实可以识别它们——但代价是加倍编译转置的内容,在这种情况下,它会加倍标记中的

  • 编译选项 选项 类型 默认值 描述 --allowJs boolean false 允许编译javascript文件。 --allowSyntheticDefaultImports boolean module === "system"或设置了--esModuleInterop 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。 --allowUnreachableCo

  • TypeScript 提供了很多不同功能的编译选项,既可以通过配置 tsconfig.json 文件中的 compilerOptions 属性来实现编译,也可以使用在 tsc 命令后跟随参数这形式,直接编译 .ts 文件。 注意: 当命令行上指定了输入文件时,tsconfig.json 文件会被忽略。 1. 慕课解释 我们通过编译选项 --watch 为例,在当前目录创建 main.ts 文件,写

  • 问题内容: 有没有办法查看在* nix中使用了哪些编译器和标志来创建可执行文件?我已经编译了一个旧版本的代码,我想看看它是经过优化还是未经优化而编译的。Google并没有太大的帮助,但是我不确定我使用的关键字是否正确。 问题答案: gcc 为此提供了一个选项: 之后,ELF可执行文件将包含带有该信息的部分。 当然,如果没有该选项编译的可执行文件将无法使用。 对于简单的优化情况,如果文件是使用调试信

  • 本文向大家介绍C#执行js动态编译的方法,包括了C#执行js动态编译的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#执行js动态编译的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。