Pessoal não sei se essa pergunta seria java básico ou avançado… mas enfim, para que serviria um bloco static que não tem referencia , nome, etc… como :
Isso existe (o static sem nome) porque há certas coisas que você gostaria de inicializar estaticamente, mas não dá para fazer fora de um bloco (por exemplo, porque é difícil fazer pela linguagem, ou porque pode lançar uma exceção). Uma forma é criar um método privado e estático que faça a mesma coisa, mas quando as coisas são simples, você pode ajuntar tudo em um static sem nome.
Blocos static são executadados quando sua classe é carregada (carregada é diferente de instanciada para criação de novos objetos desta classe). Este bloco é executado uma única vez enquanto sua VM estiver “ativa”. Essa é a diferença básica para um bloco de inicialização comum que sempre é executado quando uma novo objeto é criado. Outra diferença é que o bloco static é executado primeiro que outros blocos de inicialização.