我的 java 应用程序,总是需要越来越多的内存(从 ~40mb 开始,2 天后大约 140mb)
我用了
./jmap -histo 17364 | head -10
num #instances #bytes class name
----------------------------------------------
1: 1814362 68884536 [C
2: 1813805 29020880 java.lang.String
3: 1604 9989632 [B
4: 1333 266184 [I
5: 5769 250376 [Ljava.lang.Object;
6: 2410 235720 java.lang.Class
7: 2982 119280 java.util.HashMap
感觉是什么分配了这个内存。有什么方法可以检测到哪个实际的 java 类正在使用这些 char-Arrays 和字符串?