Я недавно сравнивал платформы JVM и CLR и обсуждал влияние компиляции JIT. Дискуссия, которую я провел, привела к способности .NET прекомпилировать код с помощью инструмента NGen, что избавило бы от необходимости компиляции JIT. Есть ли эквивалент на платформе Java?Есть ли прекомпилятор для JVM, как NGen?
ответ
Я лично ничего не знаю (вы можете посмотреть такие параметры, как launch4j, jexe и т. Д., Они просто обертки, а не как NGen), и я не уверен, насколько это возможно ... Ответ на этот вопрос посвящен некоторым деталям по компиляции в собственный код: Differences in JIT between Java and .Net
Собственный компилятор, о котором я больше всего слышал, - это Excelsior JET - виртуальная машина Java и собственный компилятор. См. http://www.excelsior-usa.com/jet.html для более подробной информации. В принципе, вы можете превратить свой проект в один исполняемый файл без суеты обычной Java-упаковки.
Они давно существуют (они здесь, когда я присоединился к рядам Java в 2001 году, и они здесь сейчас. Я только что услышал неделю назад, как компания использует свое решение и довольны этим.
О пару лет назад на JavaOne я встретил разработчик или два продукта, и они сказали мне, что они живут и ногами и хорошо.
Я выполнил бенчмаркинг производительности на Excelsior JET. Скомпилированный родной код значительно медленнее, чем когда-либо, созданный Oracle JIT, в моих тестах он был на 2 раза медленнее. Еще до того, как JIT оптимизировал код, он был еще медленнее. –
- 1. Есть ли прекомпилятор для JavaScript вроде Sass?
- 2. Есть ли прекомпилятор C# для версии CLR
- 3. OCaml для JVM. Есть ли?
- 4. прекомпилятор для Ipad
- 5. Есть ли прочная библиотека очереди для JVM?
- 6. Как работает ngen?
- 7. Ассемблер не прекомпилятор sass
- 8. Где находится прекомпилятор C для Oracle10g?
- 9. Есть ли реализация JVM в худшем случае?
- 10. Есть ли полный список кодов выхода JVM
- 11. Есть ли у JVM сборщик мусора?
- 12. Ngen без установщика
- 13. Есть ли у анонимного класса собственный jvm?
- 14. JVM спецификация, есть ли более новый?
- 15. Есть ли реализация JVM, поддерживающая CUDA?
- 16. Есть ли альтернатива флагов -noverify jvm?
- 17. Есть ли какая-либо роль jvm клиента для запуска сервлета?
- 18. Есть ли простой способ генерации jstack для каждого запущенного jvm?
- 19. Есть ли JVM, предназначенный для отладки параллельного программного обеспечения?
- 20. Есть ли действительно простые/ограниченные языки сценариев для JVM/BSF?
- 21. есть ли предел для запуска нескольких 32-битных JVM?
- 22. NGen для приложения с частичным доверием
- 23. Доступна ли JVM для MIPS?
- 24. Может ли Ngen использоваться для обеспечения безопасности кода?
- 25. Можете ли вы использовать компилятор Phoenix как более мощный NGEN?
- 26. ASPX-анализатор/прекомпилятор, который генерирует временные файлы
- 27. Как запустить nGen в конце установки (MSI)?
- 28. Является ли Groovy родным для JVM или портировано в JVM?
- 29. CSS-прекомпилятор LESS и/или SASS
- 30. Invoke ngen от установщика NSIS
Я не знаю ни лично (вы можете посмотрите на такие параметры, как launch4j, jexe и т. д., они просто обертки, а не как NGen), и я не уверен, насколько это возможно ... Ответ на этот вопрос затрагивает некоторые детали, касающиеся компиляции на родной код: http://stackoverflow.com/questions/2506969/what- are-the-difference-in-jit-between-java-and-net – Crollster