さきほどの記事で Lambda 式を「構文糖」と書きましたが、実はそうじゃないのかもしれません。 Java 7 で追加された invokedynamic 命令を使って、 Lambda 式の実行を効率化する、という話があるからです。 以下、 Brian Goetz の From Lambdas to Bytecode という資料から理解できた範囲を書きます。 2011 年に開催された JVM Language Summit で発表されたものみたいです。現時点での仕様のドラフトは JSR 335 の添付文書 metafactory.pdf をご覧ください。また、 invokedynamic については 2月の JJUG Night Seminar で使った Java 7 invokedynamic の概要をお薦めします。 例として、次のようなコードを考えてみます。 // リストの要素を倍にして