Rather than creating an java.lang.Object[2] where [1] is the dependency and [2] is the next field for class loader to class loader dependencies, add the dependency to the _handles area. This saves at least an ObjArray[2] per ClassLoaderData. This object also doesn't have a name so in YourKit looks like some anonymous object that may be a leak.
Most ClassLoaderData don't require any dependencies, and the number of dependencies was further reduced with more checking with bugJDK-8190359
We created these dependencies as an objarray early on in JDK8 before the _handles array was created and has been somewhat buggy.
Most ClassLoaderData don't require any dependencies, and the number of dependencies was further reduced with more checking with bug
We created these dependencies as an objarray early on in JDK8 before the _handles array was created and has been somewhat buggy.
- relates to
-
JDK-8199272 Broken assertion in ClassLoaderData::remove_handle
-
- Resolved
-
-
JDK-8190359 Reduce the number of recorded klass dependencies
-
- Resolved
-