我正在使用jdk 1.6。我将代理附加到目标jvm并发送了多个参数。是否有可能重用运行在目标jvm中的代理,因为我的几个参数已经改变了?我想在使用这些参数的新值进行新工作的代理中进行编程。有没有人有类似的经历?谢谢如何重用在运行时已经加载到目标jvm的代理程序
回答
当然,您可以重复使用代理的实现。用某种方法表示的Java代理
public static void premain(String agentArgs, Instrumentation inst);
被视为与任何Java类一样。唯一的一点是,此代理在正常 Java应用程序的主入口点之前被调用。此外,该代理提供了一个可以轻松添加Instrumentation
。您可以重构您的代理程序以在自己的捆绑软件中进行操作,并通过将代理程序捆绑包添加到程序的类路径中,将该代理程序添加到任何程序中。代理基本上只是一个普通的Java程序,它在清单文件中声明的Java程序之前被调用,或者作为命令行中的显式程序入口点被调用。
请注意,为加载代理程序必须加载的任何类都不能再被拦截。
我需要在运行时执行此操作。 –
Java代理在运行时被调用。但是,它必须在程序启动时进行注册。 –
'premain'只允许在目标程序被加载之前。 –
- 1. 如何在已经给课程上运行延迟加载?
- 2. jvm如何运行程序
- 3. 如果已经运行在JVM中,如何指向相同的运行实例?
- 4. WordPress的运行脚本已经加载
- 5. White如何在已经运行的应用程序上工作?
- 6. 如何在运行时重新加载/刷新属性而无需重启jvm?
- 7. C#应用程序打在已经运行的应用程序
- 8. Java kill程序如果已经运行
- 9. 运行已经在OS X上运行的应用程序
- 10. 如何重置应用程序缓存并在运行时重新加载? iOS
- 11. Flex:如果已经加载,加载程序不加载?
- 12. 运行jQuery,一旦body已经加载
- 13. 在Cloudbees中的JVM运行时容器中运行标准Java应用程序
- 14. 事件处理程序的调用者已经退出后的运行代码
- 15. 在运行时加载的程序集
- 16. 如何找到JVM试图加载的类的列表和顺序(而不是已经加载的类)
- 17. 如何在android应用程序的运行时加载类?
- 18. 仪器:目标无法运行:已经在退出的进程上运行
- 19. 如何在应用程序已经在后台运行时跳过splashscreen
- 20. 在单独的JVM中运行目标
- 21. VBA加载项:如何在“已启用”上运行代码
- 22. 如何重新打开已经运行的node-webkit窗口应用程序?
- 23. 恢复已经运行的应用程序共享时
- 24. 如何使用dotnet核心在运行时加载程序集
- 25. 如何制止InstallAnywhere的安装过程中,如果预定目标应用程序已经运行
- 26. 在运行时加载程序集
- 27. 如何在运行时添加通用事件处理程序
- 28. 同时运行在同一个JVM上运行的java程序?
- 29. 蟒蛇添加时间到已经运行的倒计时
- 30. 运行在EC2上的Java应用程序的JVM指标
“重用代理”是什么意思?如果你想改变正在运行的代理的行为,你的代理应该为它提供一个接口,例如通过套接字或管道接受命令。 – Holger
是的。重用代理。 –
那么,管应该是一种方式来做到这一点。 –