Deprecate all java.util.concurrent.*FieldUpdater

Remi Forax forax at
Wed Oct 5 14:39:07 UTC 2016

Hi Martin,

On October 4, 2016 11:19:33 PM GMT+02:00, Martin Buchholz <martinrb at> wrote:
>VarHandle is a reasonable replacement for FieldUpdaters, but it's not
>complete (where is accumulateAndGet?), 

Seems to be a feature for me :)
I've never liked the methods that takes a lambda in FieldUpdater. If you're using a FieldUpdater, you are in the basement, you want a reliable performance model. The JLS does not guarantee that a side effect free lambda will be always inlined.

>and when do you deprecate
>when the replacement won't be ubiquitous for 10 years?

The right answer is the one from Andrew but i can not resisrt, here is my answer:
when you hope that it will not take 10 years to be ubiquitous.


>On Tue, Oct 4, 2016 at 1:32 PM, Remi Forax <forax at> wrote:
>> Given that Java 9 introduces a faster way to emit things like
>> compareAndSet by using the VarHandke API and that AtomiReference (and
>> likes) are now rewritten to use VarHandles directly,
>> i think it's time to deprecate all *FieldUpdater with something
>> that they have been superseded by the VarHandle API.
>> Rémi
>> substitute dr deprecator

Sent from my Android device with K-9 Mail. Please excuse my brevity.

More information about the core-libs-dev mailing list