Мое приложение использует Gson 2.2
для преобразования POJOs
в JSON
. Когда я делал тест нагрузки, я наткнулся на множество потоков, заблокированных в конструкторе Gson
:
"http-apr-28201-exec-28" #370 daemon prio=5 os_prio=0 tid=0x0000000001ee7800 nid=0x62cb waiting for monitor entry [0x00007fe64df9a000]
java.lang.Thread.State: BLOCKED (on object monitor)
at com.google.gson.Gson.<init>(Gson.java:200)
at com.google.gson.Gson.<init>(Gson.java:179)
Дамп потока не показывает нити, содержащие [0x00007fe64df9a000] monitor
.
Как узнать, кто его удерживает?
Gson
code в строке 200 выглядит довольно невинно:
// built-in type adapters that cannot be overridden
factories.add(TypeAdapters.STRING_FACTORY);
factories.add(TypeAdapters.INTEGER_FACTORY);
Я использую JRE 1.8.0_91
на Linux