Если ваш приоритет - производительность, вы должны посмотреть на свой выбор виртуальной машины Java и то, как она выполняет программы. Настольная Java от Sun тратит МНОГО времени на профилирование и компиляцию Java-байтового кода в машинный код, что приводит к программам, которые могут работать очень быстро, но использовать много памяти.
Если вы обнаружите, что хотите использовать JVM на основе HotSpot, вам следует изучить все приемы, чтобы помочь ему. Методы получения и установки обычно являются встроенными (то есть заменяются непосредственно в машинном коде вместо вызова подпрограммы), а константы складываются. Операторы переключения для небольших диапазонов обычно преобразуются в таблицу переходов.
Обычно я нахожу, что метод "голова под руку" хорошо работает для написания большей части кода, а затем вы профилируете работающий код и находите узкие места. Например, я обнаружил, что StringBuffers бывают быстрыми для многих вещей, но deleteCharAt (0) не является одним из них. Переписать, чтобы использовать простую итерацию над строкой вместо удаления в строковом буфере, творит чудеса. Скорее всего, вы также обнаружите, что наибольшее преимущество имеют алгоритмы, а не небольшие ярлыки.
В мире Си человек вряд ли сможет перехитрить компилятор. В мире Java человек может помочь HotSpot, написав прямую Java.