除堆栈跟踪外,用于检索调用方方法详细信息的不同方法[Java]

时间:2019-03-12 04:27:38

标签: java stack-trace

需要在Java中传递调用者方法的详细信息。我不想使用StackTrace找出它们。

是否有其他替代方法可以获取它们?

我知道Aspects会有所帮助,但有人担心它会降低性能。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

我什么都不知道。

最后,您需要某种仪器。换句话说:您想告诉jvm跟踪调用堆栈,更重要的是,以编程方式使该信息对您可用。

即使您只希望特定方法发生这种情况,jvm仍必须跟踪 all 方法调用,因为它不知道是否在其中调用了要跟踪的方法之一。结束。 Java被解释并编译为本地机器代码的事实也增加了复杂性。

因此,如上所述:在不影响性能的情况下,无法轻松跟踪方法调用。我知道可以将性能影响保持在合理水平的工具(例如XRebel)用于以后的评估,而不是用于程序消耗。

最后:您宁愿调查您的要求。当您真的需要Java信息时,Java根本不是一种好语言。这并不是要保留调用堆栈。因此:真正的解决方案是选择一个更适合您的平台,或者(建议)退一步并设计一个没有此要求的解决方案。