Используйте новейшие виртуальные машины - они постоянно улучшаются.
Профиль и тест. Никогда не оптимизируйте свой код, если вы абсолютно не уверены, что вам нужно.
Если это приложение с графическим интерфейсом, переключение с Swing на AWT или, возможно, инструментарий Eclipse, это должно быть довольно быстро. Это более важно на старых виртуальных машинах (я уже некоторое время работаю со встроенными системами, и мы находимся в версии 1.0.x, свинг даже недоступен)
Я знаю, что это не относится только к Java, но не к распределению объектов - это включает в себя конкатенацию строк в цикле (вне цикла это довольно приемлемо. Это самое большое, что вы, вероятно, можете сделать.
Вы также можете держать объекты вокруг вместо того, чтобы освобождать / перераспределять их. Есть некоторые «ссылочные» классы, которые можно использовать для хранения объектов, которые вам не нужны, но, возможно, захотят использовать повторно - GC не удалит их, если ему не понадобится место.
Выделите больше места, если необходимо, с аргументом -MX.
Довольно сложно ускорить Java - HotSpot уже так много делает для вас, что все, что вы делаете, что, по вашему мнению, может ускорить ваш код, часто может замедлять его.