Como implementar um aplicativo Java de instância única?

Às vezes, vejo muitos aplicativos, como msn, windows media player etc, que são aplicativos de instância única (quando o usuário executa enquanto o aplicativo está executando, uma nova instância de aplicativo não é criada). Em C #, eu uso Mutexclasse para isso, mas não sei como fazer isso em...