我使用jmap获得了堆转储。我把它加载到eclipse MAT中。 java.lang.Thread是顶级消费者。当我点击直接支配者时,它会显示一个带有17K对象的ArrayList(org.jboss.security.SecurityAssociation $ SubjectContext)。
我在不同的时间(间隔2小时)进行了堆转储。
java.lang.Thread @ 0xd09f05d0 pool-7-thread-1 Thread 112 | 12,198,024 | 7.64%
java.lang.Thread @ 0xd09e64c8 pool-7-thread-1 Thread 112 | 19,037,464 | 8.58%
浅堆:112 保留堆:19,037,464 百分比8.58
堆大小正在增加。
线程对象(0xd09f05d0,0xd09e64c8)不同,线程名称相同(pool-7-thread-1)。 它仍然引用同一个线程并且它的堆增长了吗?或者一个线程(0xd09f05d0)完成其操作,并且具有不同对象(0xd09e64c8)的相同线程用于不同的操作并且它持有不同的对象?