有了mat、同时我们发现Java有提供jvisualvm, jvisualvm是一个不错的工具: heap dump 、 thread dump、 cpu/mem profile 无所不能。
不过观察发现,对同一个java程序,其导出的hrof格式数据跟jmap导出的bin格式数据有所不同,比如String类的count,size等。应该是底层实现不同吧
同时惊人的发现jconsole竟然也可以导出hrof格式的的堆栈信息(参考http://blog.csdn.net/moneyice/article/details/2644503):
还有就是发现jvisualvm不能动态的更新左边的Application-Local下面的程序,就是说如果jvisualvm已经打开,而稍后又有新的java程序启动,则Local下面的程序不会有所变化,必须重新打开jvisualvm才行。
jvisualvm 的使用:
是否