Static initializer and the Singleton pattern

Bryce McKinlay bryce@waitaki.otago.ac.nz
Thu Nov 22 18:50:00 GMT 2001


Weiqi Gao wrote:
>The following bit of code was distilled from a bigger application that
>exhibited a case of interference between the singleton pattern and
>static initializers. Contrary to the naive expectation, under Sun's JDK
>this program prints 'false'. And a check against the JVM spec confirms
>that the behavior is the expected bahavior.
>>class Main {
> public static void main(String[] args) {
> System.out.println(A.getInstance() == B.a);
> }
>}
>
Hmm... the problem is that GCJ is calling the static initializer for B 
from Main.main() before it calls A.getInstance().
regards
Bryce.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /