One common use of static initializers is for classes that implement native methods - e.g., methods written in C. The static initializer for such a class should call System.load() or System.loadLibrary() to read in the native library that implements these native methods.