When is static variable loaded? Is it at compile time or runtime? When exactly a static block is loaded in Java?