我有一个Java程序,其中有很多HashMap / HashTable用于映射键值对。现在,我想分析或更确切地说,在程序中调用了get()和put()方法的次数。
我采用的方法是扩展Java HashMap / HashTable类,并引入一个称为count的成员,并且在get()和put()方法每次调用该方法时都会增加计数。这将涉及很多重构,因为我将不得不删除HashMap / HashTables的所有实例化以实例化我的扩展类。这种方法是否合理,或者还有其他更好的方法来保持这种计数?
最佳答案
此类任务的最佳解决方案是使用探查器,例如YourKit或JProfiler。探查器对由探查的JVM加载的所有(或子集)类执行"instrumentation",以完全执行所需的操作:计算和测量所有方法调用,而无需一行修改的代码。
上述两个分析器都附带了试用许可证。一旦尝试过它们,您可能会购买一个,因为它们在很多情况下都非常有用。
关于java - 计算HashMap/HashTable的调用次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12172505/