我正在使用代码检测(使用Javassist for Instrumentation)使用Java Agent(创建探查器)。完成java程序的执行后,我需要在Java Agent Profiler中运行一些函数。主要功能之后的东西,比如post-main(就像我们有premain一样)。这可能吗?
答案 0 :(得分:2)
没有 postmain 方法这样的东西,它的语义也不清楚。许多程序一直运行直到它们被杀死。这要求应用程序终止而不是运行不同的代码。
Java通过Runtime
类提供了在应用程序终止时触发但不能执行持久操作的关闭挂钩。此外,如果程序被杀,它们也不会被执行。
对于分析器,您需要定期处理数据,并且可以在没有保证的情况下尝试在终止时刷新缓冲区。