Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检测热交换_Java_Hotswap - Fatal编程技术网

Java 如何检测热交换

Java 如何检测热交换,java,hotswap,Java,Hotswap,是否有任何方法可以检测类在使用热交换的运行时发生更改 我有一个生成数据的类,我将其存储起来供以后使用。我可以在热交换发生后手动触发数据重新生成,但我希望自动执行此操作。我正在寻找任何解决方案,使我能够检测任何类何时发生了更改,以便可以动态自动重新生成数据。我还想检测哪些类被更改,因为我有多个类生成不同的数据,并且重新生成所有类的开销很大。您可以使用java代理监控字节码中的任何更改: API文件: 例如: 您是否尝试检查类哈希代码是否已更改?例如,监视热交换是否影响SomeClass.clas

是否有任何方法可以检测类在使用热交换的运行时发生更改


我有一个生成数据的类,我将其存储起来供以后使用。我可以在热交换发生后手动触发数据重新生成,但我希望自动执行此操作。我正在寻找任何解决方案,使我能够检测任何类何时发生了更改,以便可以动态自动重新生成数据。我还想检测哪些类被更改,因为我有多个类生成不同的数据,并且重新生成所有类的开销很大。

您可以使用java代理监控字节码中的任何更改:

API文件:

例如:


您是否尝试检查类哈希代码是否已更改?例如,监视热交换是否影响SomeClass.class.hashCode()。该类的hashCode不会更改。我是否需要为代理创建一个JAR,或者是否有更简单的方法动态注册它?您需要使用相应的参数启动JVM:它可以工作,谢谢。有没有办法让代理直接与我的应用程序通信,或者我应该使用套接字或类似的东西?基本上,代理必须位于要监视热交换的JVM内。但是它可以通过套接字等与其他JVM通信——如果您想在JVM之外发送通知的话。显然,我可以直接从代理调用应用程序的静态方法。这个解决方案正是我想要的。