Hi Peter,
On 31/01/2013 11:07 PM, Peter Levart wrote:
Hi David,
Could the parallel classloading be at least space optimized somehow in
the JDK8 timeframe if there was a solution ready?
If there is something that does not impact any of the existing specified
semantics regarding the classloader lock object then it may be possible
to work it into an 8 update if not 8 itself. But all the suggestions
I've seen for reducing the memory usage also alter the semantics in someway.
However, a key part of the concurrent classloader proposal was that it
didn't change the behaviour of any existing classloaders outside the
core JDK. Anything that changes existing behaviour has a much higher
compatibility bar to get over.
David
-----
Regards, Peter
On 01/31/2013 10:26 AM, David Holmes wrote:
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