【问题标题】:Compile Java in memory在内存中编译 Java
【发布时间】:2012-12-25 08:42:48
【问题描述】:

有没有办法在内存中发出 Java 字节码并执行它? 我知道有JavaCompiler 类,但我问的是Reflection.Emit 之类的.NET 平台。

【问题讨论】:

  • JavaCompiler 类可用于完全在内存中工作(几年前我写了一个库来做到这一点),但这并没有太大的不同。 ;-)
  • +1 @PeterLawrey,这个库是开源的吗?

标签: java dynamic compilation bytecode execution


【解决方案1】:

你能看看下面的

【讨论】:

  • +1 两者,其中之一正是我需要的;现在我必须花一些时间来了解哪个 API 对我的任务更简单(暂时在内存中编译一个数学表达式)
【解决方案2】:

您需要使用类加载器来动态加载某些类。关于这个主题有一些有趣的 SO 问题:

【讨论】:

    【解决方案3】:

    这是可能的,但这需要最终用户也安装JDK。将字节码编译到内存并创建一个新的 java 进程并启动它。也可以直接执行java source

    Beanshell2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2011-12-20
      相关资源
      最近更新 更多