我有一个模拟安全RFID系统工作的java程序。它有两个主要类别。
1)模仿RFID阅读器和
的类2)模仿RFID标签的类
我需要这些程序一起运行(在2个命令窗口中),我使用JMS在2个应用程序之间传递消息(如十六进制字符串和随机数)。
现在,由于RFID标签是资源限制,我想监控RFID标签上java程序的内存使用情况。我想将这种内存使用情况记录在不同算法和不同代码之类的变量上,以便找到最有效的解决方案。
所以,我的问题是:在进行这样的比较分析时,使用内存的最佳指标是什么?另外,我怎样才能确切地确定执行JMS以便来回发送消息的内存量,以便我可以从我获得的整个过程中将其单独输出?
我目前正在使用VisualVM来查看内存如何随程序变化?是否有更好的程序用于此目的?
提前致谢!
答案 0 :(得分:0)
jprofiler
..需要许可证,但您可以在前30天内试用。
答案 1 :(得分:0)
您可以使用 Eclipse Memory Analyzer 工具。它是一个用于分析内存堆转储的FOSS工具 -
内存分析器(MAT) Eclipse Memory Analyzer是一个快速且功能丰富的Java堆分析器,可帮助您查找内存泄漏并减少内存消耗。
使用Memory Analyzer分析具有数亿个对象的高效堆转储,快速计算对象的保留大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏嫌疑人。
您可以在此处下载http://www.eclipse.org/mat/