WITHDRAWN Re: Proposal: Fully Concurrent ClassLoading

David Holmes david.holmes at oracle.com
Thu Jan 31 09:26:19 UTC 2013

Regretfully this proposal has to be withdrawn from Java 8. The VM 
facilities that this depends upon have not been specified formally and 
so an update to the Java Virtual Machine Specification (JVMS) and 
further updates to the ClassLoader.defineClass method are required. 
There was simply no time to get this work specified and completed before 
the M6 milestone - taking into account other constraints (ie people and 
time). Further, testing has indicated that there may be some further 
issues to work out in the VM's "parallel defineClass" path.

I plan to submit a new JEP for this and work on it for Java 9.

David Holmes

On 5/12/2012 9:59 PM, David Holmes wrote:
> Java 7 introduced support for parallel classloading by adding to each
> class loader a ConcurrentHashMap, referenced through a new field,
> parallelLockMap. This contains a mapping from class names to Objects to
> use as a classloading lock for that class name. This scheme has a number
> of inefficiencies. To address this we propose for Java 8 the notion of a
> fully concurrent classloader ...
> This is a fairly simple proposal that I've written up as a blog entry:
> https://blogs.oracle.com/dholmes/entry/parallel_classloading_revisited_fully_concurrent
> Please discuss this proposal here.
> Thanks,
> David Holmes

More information about the core-libs-dev mailing list