¿Cómo implementar una aplicación Java de instancia única?

En algún momento veo muchas aplicaciones como msn, windows media player, etc. que son aplicaciones de instancia única (cuando el usuario ejecuta mientras la aplicación se está ejecutando, no se crea una nueva instancia de aplicación). En C #, uso la Mutexclase para esto, pero no sé cómo hacerlo...