В рабочем документе , описывающем состояние проекта Lambda , упоминается так называемый SAM (единый абстрактный метод) типы. Насколько мне известно, текущее предложение лямбда не влияет на среду выполнения, а влияет только на компилятор, делая возможным автоматическое преобразование лямбда-выражений в эти типы.
Я думаю, что в идеальных обстоятельствах экземпляры типов SAM могут быть внутренне представлены указателями функций. Следовательно, JVM может избежать выделения памяти для этих экземпляров.
Мне интересно, могут ли современные виртуальные машины обеспечить такую оптимизацию.