Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #7110
| From | markspace <-@.> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Synchronization of the constructor |
| Date | 2011-08-14 11:28 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <j2945d$7hh$1@dont-email.me> (permalink) |
| References | (2 earlier) <j264b6$3u5$1@dont-email.me> <e46c0cd1-9906-4195-9d30-070318fa5318@y39g2000prd.googlegroups.com> <j28msd$cmd$1@dont-email.me> <j28nec$ggg$1@dont-email.me> <1b39f46d-0268-413a-9383-3a4a2c73920d@glegroupsg2000goo.googlegroups.com> |
On 8/14/2011 9:10 AM, Lew wrote:
> See JLS ยง17.5: "...It will also see versions of
> any object or array referenced by those final fields that are at
> least as up-to-date as the final fields are."
>
This is a little misleading, I think. In fact the update does not occur
when the final field is written ("at least as up-to-date as the final
fields are"). The update occurs at the end of the constructor.
JLS 17.5.1:
"The semantics for final fields are as follows. Let o be an object, and
c be a constructor for o in which f is written. A freeze action on a
final field f of o takes place when c exits, either normally or abruptly."
The "freeze action" is a little unclear. It's not technically a
synchronization, because immutable objects are specifically stated to
not use synchronization. It is a happens-before though (even though
that language isn't used), and it appears to imply a memory-barrier.
I'm not sure exactly why they use "freeze action" and not
happens-before. There might be some subtle difference for compiler
writers, than doesn't affect the rest of us.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar
Synchronization of the constructor MaciekL <__nospam__maclab@o2.pl> - 2011-08-13 11:58 +0200
Re: Synchronization of the constructor Robert Klemme <shortcutter@googlemail.com> - 2011-08-13 12:17 +0200
Re: Synchronization of the constructor "Qu0ll" <Qu0llSixFour@gmail.com> - 2011-08-13 21:36 +1000
Re: Synchronization of the constructor Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-08-13 09:30 -0300
[OT] Natural language. Was: Re: Synchronization of the constructor Patricia Shanahan <pats@acm.org> - 2011-08-13 07:10 -0700
Re: Synchronization of the constructor Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-13 09:36 -0400
Re: Synchronization of the constructor markspace <-@.> - 2011-08-13 08:13 -0700
Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-13 09:23 -0700
Re: Synchronization of the constructor Patricia Shanahan <pats@acm.org> - 2011-08-13 10:04 -0700
Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-13 21:29 -0700
Re: Synchronization of the constructor kedar mhaswade <kedar.mhaswade@gmail.com> - 2011-08-13 23:16 -0700
Re: Synchronization of the constructor "Qu0ll" <Qu0llSixFour@gmail.com> - 2011-08-15 14:24 +1000
Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-14 23:03 -0700
Re: Synchronization of the constructor kedar mhaswade <kedar.mhaswade@gmail.com> - 2011-08-13 23:12 -0700
Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 07:42 -0700
Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 07:51 -0700
Re: Synchronization of the constructor Lew <lewbloch@gmail.com> - 2011-08-14 09:10 -0700
Re: Synchronization of the constructor markspace <-@.> - 2011-08-14 11:28 -0700
csiph-web