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