W przykładzie article na podwójnie sprawdzone idiom blokowania, znalazłem ten cytat:leniwe inicjowanie za darmo
Jeden szczególny przypadek leniwej inicjalizacji, że działa zgodnie z oczekiwaniami bez synchronizacji jest statyczna Singleton. Gdy zainicjalizowany obiekt jest statycznym polem klasy bez żadnych innych metod ani pól, JVM skutecznie wykonuje leniwą inicjalizację automatycznie.
Dlaczego podkreślona część jest ważna? Dlaczego to nie działa, jeśli istnieją inne metody lub pola?
(Artykuł jest już ponad 10 lat. Czy informacja jest nadal aktualna?)
+1 interesujące pytanie. Początkowo domyślam się, że jest to jedyny moment, w którym JVM może być pewna, że nie będzie wywołania tego obiektu, zanim zostanie przywołany poza klasą; ale to nie wydaje się niczego oświetlać. –