0

今天,在使用 eclipse 时。每当我打开 junit 测试用例文件时,我的 Eclipse 都会进入挂起状态。就这样分析了。

打开文件之前

  ~$ ps -o thcount 5458
  THCNT
   42

打开文件后。

$ ps -o thcount 5458
THCNT
  195

我发现线程使用率突然飙升。

我使用线程转储jstack -l进行调试。我发现大多数线程都处于BLOCKEDstate 。

线程转储:

在这里发布线程转储使我的问题变得难以理解。这是线程转储https://docs.google.com/document/d/11nPbEkQMg-FMB9lPwvDK-ShNTygDN2biDUSPHMicdm4/edit?pli=1

谢谢你,卡南。

4

1 回答 1

0

看起来这是你的问题

你有自定义类加载器吗?所有被阻塞的线程都在尝试加载类。

com.instantiations.assist.eclipse.junit.execution.core.UserDefinedClassLoader)
    at com.instantiations.assist.eclipse.junit.execution.core.UserDefinedClassLoader.loadClass(UserDefinedClassLoader.java:62)
    - locked <0x00000007efc97ea0> (a com.instantiations.assist.eclipse.junit.execution.core.UserDefinedClassLoader)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at com.zmedia.accounts.AccountsProto$ZAID$ZUID$UserTicket$ServiceTicket.initFields(AccountsProto.java:51314)
    at com.zmedia.accounts.AccountsProto$ZAID$ZUID$UserTicket$ServiceTicket.<clinit>(AccountsProto.java:52130)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at com.zmedia.resource.ResourceType.<init>(ResourceType.java:28)
    at com.zmedia.resource.ResourceType.loadResources(ResourceType.java:63)
    at com.zmedia.resource.URI.init(URI.java:859)
    at com.zmedia.resource.URI.<init>(URI.java:87)
    at com.zmedia.resource.URI.<init>(URI.java:81)
    at com.zmedia.accounts.Accounts$AccountURI.<init>(Accounts.java:13142)
    at com.zmedia.accounts.Accounts.getAccountURI(Accounts.java:13132)
    at com.zmedia.accounts.api.AccountTester.testGrandChildinSubresources(AccountTester.java:841)
于 2012-12-27T20:19:34.177 回答