Есть ли IKVM для Java? Могу ли я запускать сборки .NET на JVM? - PullRequest
18 голосов
/ 14 июля 2011

IKVM - удивительный зверь, который позволяет мне выполнять Java-jar-файлы в среде .NET. То есть это JVM, написанная в среде выполнения .NET (CLR).

Существует ли обратное? Кто-то написал CLR поверх JVM? При подходящей реализации библиотеки перевода и базовой библиотеки мы можем обнаружить, что код .NET выполняется быстрее в агрессивном JIT-компиляторе, таком как HotSpot, чем в CLR JIT.

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

Большинство Java-программ работают с IKVM (32-битной) немного быстрее, чем с Java SE.Мой тест показывает на 5-10% быстрее.Я думаю, что код MSIL будет выполняться медленнее с JIT HotSpot.

Следующая проблема заключается в том, что MSIL имеет гораздо больше функций, таких как байт-код Java.Это может быть трудно эмулировать, и это потребляет производительность.

С Mainsoft Grasshopper у вас есть решение, которое работает на сервере Java EE.Я не знаю решения для настольного графического интерфейса.

2 голосов
/ 14 июля 2011

Вы можете вызывать компоненты COM или ActiveX, используя JACOB (Java COM Bridge). То, что я использовал только раз, мне пришлось вызывать мой код C # из JAVA. Также проверьте эту ссылку из StackOverflow Как я могу вызвать .NET-код из Java? Тоже гуглил это http://michaelkimsal.com/blog/running-net-code-on-a-jvm/

...