[jmm-dev] ECOOP, JVMLS
    John Rose 
    john.r.rose at oracle.com
       
    Tue Aug  5 07:17:29 UTC 2014
    
    
  
On Aug 3, 2014, at 5:36 AM, Doug Lea <dl at cs.oswego.edu> wrote:
> * Everyone seems to strongly favor the idea of replacing final-field
> specs with those that amount to guaranteeing release fences in
> constructors.  Still lots of details (some depending on core model) to
> work out though.
This change makes it easier to define interesting variations on final variables.  Such finals would be set some time after their constructor exits.   Scala-style lazily evaluated fields are an example; also no-copy builder APIs for immutables.  Finals could also be elements of monotonically initialized constant arrays.  A final set outside of a constructor (or final array element set) would be followed immediately (or on exit from enclosing method?) by a release fence, giving safe publication for the final value.  (A reader would have to test carefully for the empty state, if the object was published beforehand.)
— John
    
    
More information about the jmm-dev
mailing list