18

IKVM 是一个了不起的野兽,它可以让我在 .NET 环境中执行 Java jar。也就是说,它是在 .NET 运行时 (CLR) 上编写的 JVM。

是否存在相反的情况?有人在 JVM 上写过 CLR 吗?通过适当的翻译和基类库实现,我们可能会发现 .NET 代码在激进的 JIT 编译器(如 HotSpot)中比在 CLR JIT 中执行得更快。

4

2 回答 2

2

大多数 Java 程序使用 IKVM(32 位)运行的速度比使用 Java SE 快一些。我的测试显示快 5-10%。我认为 MSIL 代码使用 HotSpot JIT 会运行得更慢。

下一个问题是 MSIL 具有更多的 Java 字节码特性。模仿它可能很困难,并且会消耗性能。

使用Mainsoft Grasshopper,您可以获得在 Java EE 服务器上运行的解决方案。我不知道桌面 GUI 的解决方案。

于 2011-07-14T16:16:05.077 回答
2

您可以使用 JACOB (Java COM Bridge) 调用 COM 或 ActiveX 组件。那是我只在我不得不从 JAVA 调用我的 C# 代码时使用的。另请查看 StackOverflow 中的此链接How can I call .NET code from Java? 还用谷歌搜索了这个http://michaelkimsal.com/blog/running-net-code-on-a-jvm/

于 2011-07-13T23:04:02.110 回答