If a class is loaded multiple times, do its static-members get initialized multiple times? How do I check for that?
If there are different classloaders involved, then they will be completely separate classes, with separate static fields etc - and each will be initialized separately.
(The simplest way to diagnose this is just to log when you get initialized, of course...)
static {
// Log initialization
}
See more on this question at Stackoverflow