有没有适用于 Java 的 IKVM?我可以在 JVM 上运行 .NET 程序集吗?

2022-09-02 22:38:21

IKVM是一个神奇的野兽,它允许我在.NET环境中执行Java jars。也就是说,它是在 .NET 运行时 (CLR) 上编写的 JVM。

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


答案 1

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

下一个问题是MSIL具有更多功能作为Java字节码。它可能很难模拟它,并且会消耗性能。

使用 Mainsoft Grasshopper,您就拥有了一个适用于 Java EE 服务器的解决方案。我不知道桌面 GUI 的解决方案。


答案 2

你可以调用 COM 或 ActiveX componenets 来使用 JACOB (Java COM Bridge)。我只用了很长时间,我不得不从JAVA调用我的C#代码。还要从StackOverflow检查此链接 如何从Java调用.NET代码?还谷歌了这个 http://michaelkimsal.com/blog/running-net-code-on-a-jvm/


推荐