btpka3 created GROOVY-11712:
-------------------------------

             Summary: CallSiteClassLoader loadClass using className level lock
                 Key: GROOVY-11712
                 URL: https://issues.apache.org/jira/browse/GROOVY-11712
             Project: Groovy
          Issue Type: Improvement
    Affects Versions: 4.0.27
            Reporter: btpka3


 

org.codehaus.groovy.runtime.callsite.CallSiteClassLoader#loadClass is using 
`synchronized` keyword,this can be improved by using className level lock,
such as JDK's 
java.lang.ClassLoader#[loadClass|https://github.com/openjdk/jdk/blob/jdk-11%2B28/src/java.base/share/classes/java/lang/ClassLoader.java#L565C24-L565C33](String,boolean)
 

```java

protected Class<?> loadClass(String name, boolean resolve)
        throws ClassNotFoundException {
    synchronized (getClassLoadingLock(name)) {
        // ...
    }
}

```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to