执行后在Java代理中运行代码?帖子主?

时间:2015-11-21 12:02:15

标签: java main bytecode instrumentation javassist

我正在使用代码检测(使用Javassist for Instrumentation)使用Java Agent(创建探查器)。完成java程序的执行后,我需要在Java Agent Profiler中运行一些函数。主要功能之后的东西,比如post-main(就像我们有premain一样)。这可能吗?

1 个答案:

答案 0 :(得分:2)

没有 postmain 方法这样的东西,它的语义也不清楚。许多程序一直运行直到它们被杀死。这要求应用程序终止而不是运行不同的代码。

Java通过Runtime类提供了在应用程序终止时触发但不能执行持久操作的关闭挂钩。此外,如果程序被杀,它们也不会被执行。

对于分析器,您需要定期处理数据,并且可以在没有保证的情况下尝试在终止时刷新缓冲区。