- Lambda expression is compiled using
invokedynamic
bytecode.
- Lambda implementation is stored in the same class file as a special private method.
- Whether an object is created to invoke lambda depends on the situation. In the trivial cases lambda gets translated to a constant method handle.
- To instantiate a lambda HotSpot creates an anonymous class that implements lambda's functional interface. This class does not belong to any ClassLoader.
See more details from the specification lead of Lambda Expressions JSR.