????????д???????????Pierre-Hugues Charbonneau???????????????????????????????????????????????????????????????????????????????????????????в????
?????????????ó?????Yet Another Webapp???????????????????????????????????????????????????????ú????????????????????????е??????????????????????????????????????ú???????
???????BUG??????——????????????????????????????????????????????????BUG???????????????????????????Ρ?????????????????????????????????????????????????????????????——???????????????thread dump????Щ??????????????????????????????Debug???????????????
??????ε????ò??????????????????????????????????????????????????????thread dump?????
"Thread-96" #106 prio=5 os_prio=31 tid=0x00007fc9b283b800 nid=0x11b03 waiting for monitor entry [0x0000000130133000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.ClassLoader.loadClass(ClassLoader.java:404)
- waiting to lock <0x00000006c022e608> (a java.lang.Object)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.sun.org.apache.xerces.internal.utils.ObjectFactory.findProviderClass(ObjectFactory.java:209)
at com.sun.org.apache.xerces.internal.utils.ObjectFactory.newInstance(ObjectFactory.java:157)
at com.sun.org.apache.xerces.internal.utils.ObjectFactory.newInstance(ObjectFactory.java:143)
at com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance(DTDDVFactory.java:64)
at com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance(DTDDVFactory.java:49)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.(XML11Configuration.java:578)
at com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.(XIncludeAwareParserConfiguration.java:130)
at com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.(XIncludeAwareParserConfiguration.java:91)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.(DOMParser.java:144)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.(DOMParser.java:128)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.(DocumentBuilderImpl.java:138)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:76)
at ClassloadingLock$Worker.run(ClassloadingLock.java:10)
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????ó?????????????????????ü????????????????????????????lock escalation????????
???????????????????????????????????????????????????????????????е?????????Щ??????????????????????洢?????????С????????????????XML??????Щ???????javax.xml.parsers.DocumentBuilder????????Щ????????????????????????????????????????????????XML?????
??????thread dump?п??????????????????????????????????XML????????
????at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
????at com.sun.org.apache.xerces.internal.utils.ObjectFactory.findProviderClass(ObjectFactory.java:209)
???????????java.lang.ClassLoader.loadClass()????????????????????????????????????????д???????????????????????????????????????????????????????????????????????????
protected Class loadClass(String name?? boolean resolve)
throws ClassNotFoundException {
synchronized (getClassLoadingLock(name)) {
// First?? check if the class has already been loaded
Class c = findLoadedClass(name);
// ... cut for brevity ...
}