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

Reply via email to