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