|
|
1
13
在春天有一个内置的支持。 我试图寻找教程,但令人惊讶的是,我并没有找到一个,所以我将尝试在这里解释它。(编辑:我把这个例子添加到我的博客中 here )
这个类包装您的bean并将方法调用信息(包括参数、返回值和执行时间)输出到日志。通过改变
现在,您需要一些XML来实际选择要包装的bean:
基本上,在“beanNames”中定义要用通配符包装的bean,“order”控制包装的顺序-如果没有其他AOP类,可以删除它。如果更改enterMessage和exitMessage属性,也可以更改输出的格式。 这应该足以让你开始。如果你需要澄清,请毫不犹豫地询问。 |
|
|
2
1
AOP方法可以工作,但取决于您计划如何记录信息本身可能会影响性能——请注意,确保记录尽可能有效,并确保您的错误处理在您的方面是正确的。 您可能还希望看起来像 Visual VM -这个工具给我留下了深刻的印象,它很容易使用,并且能够提供我上次使用它时所需要的信息。 |
|
|
3
1
除了Nick提到的VisualVM之外,另一个好的(免费开发的)软件是 Oracle JRockit Mission Control . 它的管理控制台 has the ability 对一些方法的简单概要调用(另外还有更多的概要选项,而且肯定比TPTP更快)。 与在方法调用之前/之后测量系统时间一样:基本上它可以工作,但有一些小的“缺陷”(例如后台应用程序可以“改变”结果)。 就我个人而言,我会首先使用VisualVM或JRockit任务控制。 |
|
|
4
1
“profiler 101”的问题在于,它包含了许多想法,这些想法的合理性与其说是合理的思考,不如说是受欢迎的问题。 最大的想法是,发现绩效问题的最佳方法是衡量绩效。 这是自上而下的想法,就像通过查看每个部门的预算来寻找政府中的浪费。另一种方法是自下而上的方法,比如随机选取金钱或时间的几个单位,然后(最重要的)完全确定 为什么? 每一个都花掉了。
This is the language-agnostic method I use. 补充:你可能认为40%这样的大比例是不现实的,因为你无法想象, but it's entirely possible . |
|
|
KWMuller · 如何在Netbeans中访问调用计数? 8 年前 |
|
|
Tim · 测量所有目标(包括相关目标)的xcodebuild持续时间 8 年前 |
|
|
Bram · 如何启动和停止性能采样 8 年前 |
|
|
GoodGoodMan · 如何测量C代码中方法的cpu和内存使用率 8 年前 |
|
|
JumpingJezza · 读取2D矩阵的最快方法 8 年前 |
|
|
Mayank · 作为后台服务运行的行分析python代码 8 年前 |