2013-10-25 4 views
1

Это мой первый вопрос на этой странице, я надеюсь, что кто-то поможет мне понять этот код, связанный с одним синглетным классом в Java.Reload Singleton Values ​​Java

Существует функция, называемая reloadValues ​​(), и подключаться к базе данных и присваивать соответствующие значения общедоступным статическим конечным переменным в одноэлементном классе.

функция объявлена ​​таким образом:

public static void reLoadValues() 

Но я видел кусок кода в конце класса:

static { reloadValues(); } 

И я до сих пор задаюсь вопросом, в какой момент является выполненных и которые являются функциональностью.

+0

Статические блоки выполняются, когда класс загружен. – Kayaman

ответ

1

Когда класс загружен, все статические поля инициализируются и выполняется статический блок инициализатора. И класс загружается, когда он сначала требуется JVM.

+1

Чтобы подчеркнуть: это происходит до того, как будут созданы какие-либо объекты этого класса – iluxa