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