squalyl (./16) :
je suis d'accord mais c'est ça qu'ils proposent 
public static Singleton getInstance()
{
if (instance == null)
{
synchronized(Singleton.class) {
instance = new Singleton();
}
}
return instance;
}
et la branlette elle est là:The code in Listing 2 [le mien quoi] works fine for multithreaded access to the getInstance() method. However, when you analyze it you realize that synchronization is required only for the first invocation of the method.
Si je ne me trompe pas, le code que tu as cité est mauvais... (oui c'est pas ta faute mais bon

)
Pour plus de détails
http://en.wikipedia.org/wiki/Double-checked_locking