Я использовал Excelsior JET для компиляции SWT-приложения в нативное для Windows .
Это было некоторое время назад, и с тех пор они значительно улучшили инструмент, но скорость JVM также улучшилась соизмеримо. Потребление памяти не так много, но даже в ноутбуках низкого уровня в настоящее время имеется ГБ ОЗУ, и, хотя это может вызвать отвращение к нашему чувству бережливости, на самом деле не имеет значения, использует ли ваше маленькое приложение с графическим интерфейсом 20 МБ памяти на коробке с хотя бы В 50 раз больше, особенно если учесть преимущества разработки в такой среде.
Основными причинами статической компиляции являются время запуска и использование памяти. JET дал мне это, но за счет длительного цикла сборки ошибки в пропущенных классах из-за динамической загрузки конфликтуют со статической компиляцией (это, я думаю, они значительно улучшили) и сборками для конкретной платформы (вы должны собрать Windows дистрибутив на Windows). В конце концов, закон Мура и скорости JVM сделали этот компромисс не стоящим, и я отказался от этого варианта сборки.
FWIW, трассировки стека и отражения в порядке, как и динамическая загрузка классов если , вы убедитесь, что компилятор знает о классах, на которые нет статической ссылки. Если вы беспокоитесь о декомпиляции, обфускатор, скорее всего, даст вам столько же пробега.
Мне нечего сказать, кроме хороших слов о JET и людях, которые это делают. Если вам нужно это сделать, JET - это надежный продукт.