Помните: Напишите один раз , бегите везде! В вашем случае слоган действительно подходит.
Как правило, нет смысла трогать старый код Java, если он выполняет свою работу.
Байт-код не сильно изменился за эти годы, инструкции байт-кода, понятные JRE Java8, на 99% те же, что уже присутствовали в Java2 - было очень мало дополнений, поэтому с этой точки зрения нет необходимости обновить старый байт-код. В Java8 он будет работать даже быстрее, чем в Java5, поскольку JRE с его движком HotSpot и библиотека классов значительно улучшились.
Изменения в формате файла класса больше касаются метаданных, и номер версии файла класса также гарантирует, что вы не запускаете программу Java8 под JRE Java6, где отсутствует половина классов и методов Java.
Что сильно изменилось, так это библиотека классов Java и исходный язык. А поскольку старая библиотека не могла знать об изменениях, которые появятся позже, она может оказаться менее эффективной, чем недавно написанная версия, использующая все функции из более поздних выпусков Java. Но я предполагаю, что производительность, достигнутая за счет редизайна старых библиотек, не стоит усилий.
И, наконец, общий совет по вопросам производительности:
Если он не сломан, не исправляйте его (= не оптимизируйте, пока не узнаете, что у вас есть проблемы с производительностью).
Перед оптимизацией воспользуйтесь профилировщиком, чтобы выяснить, где находятся ваши узкие места. Поверьте мне, узкое место вряд ли когда-нибудь, где вы ожидаете.