Самое простое решение часто разминочных код при запуске. Если у вас есть серверное приложение, стоимость запуска не так важна, как стоимость, когда используется служба. В этой ситуации вы можете размять весь критический код, вызвав его 10K - 20K раз, который запускает весь этот код для компиляции.
Это может занять меньше секунды в простых случаях, поэтому это очень мало влияет на запуск и означает, что вы используете скомпилированный код при использовании службы.
Если у вас есть клиентское приложение, у вас обычно есть большая вычислительная мощность только для одного пользователя, и в этом случае стоимость фона JIT менее важна.
Мораль истории; попробуйте проверить, есть ли у вас проблема решить перед погружением в решение. Очень часто вопросы о потоке над потоком связаны с проблемами, которые либо были: а) уже решены, либо б) не являются существенной проблемой в первую очередь.
Измерение степени вашей проблемы или эффективности - лучшее руководство по вопросам, а что нет. Если вы не измеряете, вы просто догадываетесь.(Даже если у вас есть 10 + опыт работы с настройками Java-систем)
Если вы запустите программу достаточно долго, накладные расходы JIT будут минимальными ... и одно преимущество JIT в том, что оно учитывает ваше использование, перекомпилируя ваш метод несколько раз, если это необходимо. Вы не можете сделать это во время компиляции. – assylias
Написал ли в С вариант? :) Это наверняка убьет накладные расходы JIT ... И если вы должны выполнить его с Java, есть простые способы вызвать родные библиотеки ... –
Большое спасибо Assylias и Slanec. После прочтения некоторых релевантных тем, JNI (или вызов собственной программы) представляется лучшим вариантом. –