【发布时间】:2020-04-27 04:01:30
【问题描述】:
我正在使用
new Throwable().getStackTrace()[1].getMethodName()
它被一些开发人员称为昂贵。这种方法在什么方面是昂贵的?我们应该使用它吗?如果是,那么应该注意什么?
在我的用例中,非常需要找到调用方法名称。
大约有 50 个作业,因此这将在 Java8 中的独立程序中在 32 GB ram centos 上执行大约 100 次。
【问题讨论】:
-
我相信堆栈跟踪的构建通常被认为是昂贵的部分。
-
@user2478398:但没有其他方法可以做到这一点。 32 GB 的内存和每天近 50-100 次点击要多少钱?
-
每天50-100次点击基本没什么,不用担心性能。
-
如果您必须每分钟执行数百次,那么您可能会遇到问题。
-
“在我的用例中,非常需要找到调用方法名称。”在我看来,这是一个破碎的设计。整个 Java SE 库中的任何方法都不会根据调用者来改变其行为。
标签: java stack-trace throwable