Theoretically, its 'singletonness' may be broken by defining class in the same package and setting b to null from within it. Make b either private or final to avoid it.
I've read about this kind of thing at the checkout counter. That's where I met this tiny ad: