Сегодня я получил замечание по обзору кода, чтобы выделить этот анонимный класс в поле, чтобы не выделять его снова и снова:
Collections.transform(new Function<Foo, Bar>(){
Bar apply(Foo foo) {
// do some simple local transform of foo into a Bar.
}
});
Я ответил, что «это не имеет значения, JVM оптимизирует его». Хотя я точно знаю, что эта «оптимизация» никоим образом не повлияет на производительность, и я думаю, что добавленная ценность наличия встроенного кода того стоит, мне любопытно, был ли я прав в отношении оптимизации JVM. Итак, мой вопрос - предлагаемый рефакторинг абсолютно бесполезен , потому что JVM все равно оптимизирует его, или здесь есть небольшой теоретический прирост производительности?