Use singleton como enum
De preferência a implementação de Singleton[GOF] usando o idioma como Enum ao invés do idioma tradicional que declara o construtor como privado, juntamente com um objeto da mesma classe como estático. Este idioma é suscetível a erros, uma vez que outras instâncias podem ser criadas através da serialização e de reflection. Singleton[GOF] como Enum contorna todos os estes problemas, deixando a implementação segura e concisa.
Classes não instanciáveis
Existem casos em que pode ser necessário criar classes com o objetivo de agrupar atributos e ou métodos estáticos usados como “utilitários”, não fazendo sentido então existir objetos dessas determinadas classes durante a execução da solução. Para estes casos, você deve declarar o construtor como privado com o objetivo de impedir a instanciação e a herança, evitando qualquer propensão a erros.
Para todas as informações, veja o post inicial.
“Pois vocês não receberam um espírito que os escravize para novamente temerem, mas receberam o Espírito que os adota como filhos, por meio do qualclamamos: Aba, Pai”. Romanos 8:15
Como sugestão, acho que você poderia colocar algum exemplo de código nesses posts sobre o livro Effective Java.
Por exemplo, fiquei curioso sobre o singleton com enum.
Aqui um exemplo simples e fácil de entender http://www.javapractices.com/topic/TopicAction.do?Id=46
Isso é um resumo das dicas…. não teria como colocar tudo ou implementação. Como ja falado…o livro é de leitura obrigatória para qualquer um que se auto denomine “desenvolvedor java”…na verdade é até bacana para incentivar a leitura.