Um bloco estático Java é equivalente a um construtor estático em C #?

Qual é a diferença real entre um construtor estático C # e um bloco estático Java?

Ambos devem ser sem parâmetros. Ambos são chamados apenas uma vez, quando a classe relacionada é usada pela primeira vez.

Estou faltando alguma coisa, ou são a mesma coisa, apenas com nomes diferentes?