gpt4 book ai didi

java - eclipse 是否使用 Java Instrumentation API 进行热代码替换

转载 作者:太空狗 更新时间:2023-10-29 22:56:54 25 4
gpt4 key购买 nike

我最近有一项任务,我必须使用代码热替换功能。所以我使用 tools.jar 中提供的 Java Instrumentation API 完成了它。

eclipse 是否使用一些不同的逻辑来热替换新类文件或使用相同的 Java API?我尝试从某些地方阅读但不清楚:

Eclipse Java debugger transmits new class files over the debugging channel to another JVM

Eclipse Hot Code Replace 中的这一行不清楚。

最佳答案

我相信 eclipse 使用相同的逻辑,它们都依赖于称为 JVMTI 的 native 接口(interface)。 JVMTI 提供工具来检查状态,并控制在 Java 虚拟机中运行的应用程序的执行。

Java Instrumentation Implementation中有JVMTI的代理。与 vm 对话并执行某些任务的代理。它也有 redefineClasses 方法。

Eclipse Java调试器或其他工具使用JPDA(Java Platform Debugger Architecture),JPDA主要有三部分(JVMTI、JDWP、JDI)。 JVMTI作为被调试器,JDI作为调试器,JDWP作为它们之间的通信 channel 。

最后,他们都与 JVMTI 对话,并且它使用相同的逻辑。

关于java - eclipse 是否使用 Java Instrumentation API 进行热代码替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com