Results 5 issues of light

Pull request title - use atomic operation `ConcurrentMap.computeIfAbsent` instead of double-check-lock for lazy initialization Pull request description - fix the concurrent problem

status: under review

![image](https://user-images.githubusercontent.com/29830476/147668278-2ac83de9-6c95-4513-8f56-7efaa4b27667.png) 如果被代理方法的参数有 primitive 类型,比如 int,`args[k].getClass()` 取出来是 java.lang.Integer ,之后执行 `Method method = Class.forName(classType).getMethod(methodName, classes);` 就会抛出 `java.lang.NoSuchMethodException` 这里正确的取被代理方法参数类型的方式应该是: ```java ((MethodInvocationProceedingJoinPoint.MethodSignatureImpl) ((MethodInvocationProceedingJoinPoint) joinPoint).signature).getParameterTypes() ```

swagger version :2.9.2 issues type : Bug report bug: My Model Class ``` @JsonIgnore @ApiModelProperty(hidden = true) private Page page; @JsonIgnore @ApiModelProperty(hidden = true) ReentrantLock lock = new ReentrantLock(); ```...

investigating

Every time i change the plantuml file, the diagram in the preview tab will delay for a long time. Is there a way can optimize it? Thks!