Anonymous class

Mandy Chung mandy.chung at oracle.com
Fri Jan 25 16:12:22 UTC 2019


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


More information about the core-libs-dev mailing list