On 1/25/19 5:37 AM, David Holmes wrote:
> The class name is com.google.common.collect.Iterators$3, and
it is an
> anonymous class.
I'm confused. Are you talking about Java level anonymous classes
or VM
anonymous classes as created by Unsafe.defineAnonymousClass? Only VM
anonymous classes have a "host class". Java level "anonymous
classes"
are just regular classes.
Based on the class name com.google.common.collect.Iterators$3, this is a
Java anonymous class. As the stack trace shows, it's defined from
JVM_DefineClassWithSource.
VM anonymous class is defined via a different VM entry point
Unsafe.defineAnonymousClass, as David said.
No host class for this class is right if it's Java anonymous class.
You can use -Djdk.internal.lambda.dumpProxyClasses=<path> that will dump
the generated lambda proxy classes to the specified path (mkdir path
first). This might help
Mandy