- in
MethodInvocationProceedingJoinPoint
use the same approach as inInjectionPoint.getAnnotations()
to do only one volatile read for all calls after field initialization instead of two. - in
AutowiredAnnotationBeanPostProcessor
we are guareded bysynchronized
AbstractCacheManager
newly createdLinkedHashSet
always has some extra capacity, so calculation of it's size +1 is redundant