Is lambda really an object or not?
Solution 1:
There are a couple bits that need untangling here.
A lambda is an object. In particular, it's an instance of a functional interface, which has only one abstract method.
Not every occurrence of a lambda makes a new object.
invokedynamic
can, but is not required to, make a new object.
invokedynamic
is used to get lambda objects, whether or not they are newly created.