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

标签 java program-entry-point bytecode instrumentation javassist

我正在使用代码检测(使用 Javassist 进行检测)来使用 Java 代理(创建分析器)。完成 java 程序执行后,我需要在 Java 代理分析器中运行一些函数。 main 函数之后的一些东西,比如 post-main (就像我们有 premain)。这可能吗?

最佳答案

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

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

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

关于java - 执行后在Java代理中运行代码?帖子主要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843108/

相关文章:

java - 无法运行 tomcat (Ljavax/persistence/EntityManagerFactory)

c++ - 如何在不直接调用函数的情况下将值返回给主函数

java - 无法从 Java 中的命令行参数将值压入堆栈

java - 这些 Java 字节偏移量是如何计算的?

java - 在接口(interface)中的静态方法上调用静态

bytecode - 以字节码格式存储值

java - java中如何从字符串数组中获取数组键

java - 无法在java中使文本区域不可编辑

java - 为什么要记住我的 token ?

c - 编译时读取文件