Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javaapi跟踪Map上put/get方法的数量_Java - Fatal编程技术网

使用javaapi跟踪Map上put/get方法的数量

使用javaapi跟踪Map上put/get方法的数量,java,Java,我们如何在映射上跟踪get和put方法的调用数 我在某处看到过关于JProfiler,但我必须说,我想知道是否可以使用javaapi本身来解决这个问题 如果您不想更改应用程序的源代码,那么内省是一种方法。使用探查器进行方法调用,并查看这些方法被调用的程度。VisualVM、JProfiler等 如果您不想使用需要挂接的外部应用程序,那么请研究面向方面的编程。例如AspectJ。为这些方法条目配置一个方面并记录结果 如果您想记录来自您自己的API的调用,那么您可以围绕choie的映射实现编写一个

我们如何在映射上跟踪get和put方法的调用数


我在某处看到过关于
JProfiler
,但我必须说,我想知道是否可以使用javaapi本身来解决这个问题

  • 如果您不想更改应用程序的源代码,那么内省是一种方法。使用探查器进行方法调用,并查看这些方法被调用的程度。VisualVM、JProfiler等

  • 如果您不想使用需要挂接的外部应用程序,那么请研究面向方面的编程。例如AspectJ。为这些方法条目配置一个方面并记录结果

  • 如果您想记录来自您自己的API的调用,那么您可以围绕choie的映射实现编写一个包装器,并记录调用。当然,对于所有与映射相关的操作,都需要自定义包装器


假设您想要实现一个完整的Java实现,只需实现一个带有特定计数器的包装器类,该计数器在每次调用方法时都会递增

如果您想更好地组织代码并拥有应用程序元数据的中央“存储库”,我建议您通过将可观察对象作为要跟踪的映射的包装器来实现,并将调用的某个操作通知此中央观察者


然后,该中心观察者将使用您要跟踪的特定操作的详细计数器跟踪其所有托管对象。

将映射包装到您自己的类中,并在调用上执行计数器非常感谢。这很有帮助。祝您有个美好的一天。