private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(64);
protected Object getSingleton(String beanName, boolean allowEarlyReference) {
Object singletonObject = this.singletonObjects.get(beanName);
if (singletonObject == null && isSingletonCurrentlyInCreation(beanName)) {
synchronized (this.singletonObjects) {
singletonObject = this.earlySingletonObjects.get(beanName);
这里singletonObjects已经是线程安全的Map集合了,再对其加synchronized的意义何在,希望有大神可以详细讲解
这不就是个单例模式嘛...和
ConcurrentHashMap
有什么关系