Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #13472
| From | Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: trigger static init |
| Date | 2012-04-11 12:52 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <slrnjoavkt.kvi.avl@gamma.logic.tuwien.ac.at> (permalink) |
| References | <5605o7di8le7conanmf0g70p1ltipeqct4@4ax.com> <m2zkalqs1m.fsf@ipa.eternal-september.org> <17423607.56.1333992983521.JavaMail.geo-discussion-forums@pbkr6> |
Lew <lewbloch@gmail.com> wrote:
> Referencing the 'class' literal does not incur class initialization.
from JLS 12.4.1:
A class [...] T is initialized immediately before first [...]
T is a class and an instance of T is created.
T is a class and a static method declared by T is invoked.
A static field declared by T is assigned.
A static field declared by T is used [ ... and not constant ... ]
T is a top-level class, and an assert statement (ยง14.10) lexically
nested within T is executed.
Does using a class-literal <T.class> in "synchronized(T.class) {...}" count
in for implicitly using the monitor-field of the Class<T>-instance, or is
it strictly undefined (or defined somewhere else)?
Btw., I don't understand the point about assert. If the assert is
lexically nested in T and gets executed, then I'd have naively thought,
that one of the first two points would necessarily have happened,
anyway, before the assert could be reached. What am I missing here?
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
trigger static init Roedy Green <see_website@mindprod.com.invalid> - 2012-04-08 23:28 -0700
Re: trigger static init Jukka Lahtinen <jtfjdehf@hotmail.com.invalid> - 2012-04-09 10:32 +0300
Re: trigger static init Roedy Green <see_website@mindprod.com.invalid> - 2012-04-09 06:09 -0700
Re: trigger static init markspace <-@.> - 2012-04-09 09:19 -0700
Re: trigger static init Lew <lewbloch@gmail.com> - 2012-04-09 10:33 -0700
Re: trigger static init Lew <lewbloch@gmail.com> - 2012-04-09 10:36 -0700
Re: trigger static init Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-04-11 12:52 +0000
Re: trigger static init Patricia Shanahan <pats@acm.org> - 2012-04-11 07:04 -0700
Re: trigger static init Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-04-11 15:30 +0000
Re: trigger static init Patricia Shanahan <pats@acm.org> - 2012-04-11 09:32 -0700
Re: trigger static init Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-04-22 16:09 +0000
Re: trigger static init Steven Simpson <ss@domain.invalid> - 2012-04-12 07:38 +0100
Re: trigger static init Patricia Shanahan <pats@acm.org> - 2012-04-12 00:36 -0700
Re: trigger static init Joshua Cranmer <Pidgeot18@verizon.invalid> - 2012-04-11 09:39 -0500
Re: trigger static init Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-04-11 14:56 +0000
Re: trigger static init Lew <noone@lewscanon.com> - 2012-04-11 08:08 -0700
Re: trigger static init glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-04-09 09:18 +0000
Re: trigger static init Roedy Green <see_website@mindprod.com.invalid> - 2012-04-09 04:57 -0700
Re: trigger static init Lew <lewbloch@gmail.com> - 2012-04-09 10:31 -0700
Re: trigger static init Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-10 12:22 -0700
csiph-web