Proposal: Fully Concurrent ClassLoading
David Holmes
david.holmes at oracle.com
Mon Dec 10 03:54:26 UTC 2012
On 6/12/2012 9:35 PM, Alan Bateman wrote:
> On 05/12/2012 11:59, 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
>>
> The jdk7 implementation is very unfortunate, it's a pity this wasn't
> caught before 7 shipped.
>
> I think the proposal is good, it preserves compatibility, and if there
> are loaders calling registerAsParallelCapable now (probably very few)
> then it they may be able to change to using registerAsFullyConcurrent
> without too much work.
Thanks for your comments and support Alan.
> I am tempted to suggest that registerAsParallelCapable should be
> deprecated too.
I think that may be premature for 8, perhaps for 9?
David
> -Alan.
More information about the core-libs-dev
mailing list