Lamda | Anonymous Class |
On compilation, invokedynamic instruction is added to the class file. | On compilation, for each anonymous class, a separate class file gets generated. Example: DemoClass$1.class |
Lamda expression and functional interface method are lately bound by invokedynamic insturction. Only the first call to a lambda expression is slow. Subsequent calls are faster. | Anonymous classes result in an additional class file being generated during compilation, which could increase the time required for class loading and verification during runtime. |
"this" refers to enclosing class. | "this" refers to inner class. |