IKVM 是一个了不起的野兽,它可以让我在 .NET 环境中执行 Java jar。也就是说,它是在 .NET 运行时 (CLR) 上编写的 JVM。
是否存在相反的情况?有人在 JVM 上写过 CLR 吗?通过适当的翻译和基类库实现,我们可能会发现 .NET 代码在激进的 JIT 编译器(如 HotSpot)中比在 CLR JIT 中执行得更快。
大多数 Java 程序使用 IKVM(32 位)运行的速度比使用 Java SE 快一些。我的测试显示快 5-10%。我认为 MSIL 代码使用 HotSpot JIT 会运行得更慢。
下一个问题是 MSIL 具有更多的 Java 字节码特性。模仿它可能很困难,并且会消耗性能。
使用Mainsoft Grasshopper,您可以获得在 Java EE 服务器上运行的解决方案。我不知道桌面 GUI 的解决方案。
您可以使用 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/