Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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 在单个JVM中的不同线程上有两个不同版本的JAR_Java_Classloader - Fatal编程技术网

Java 在单个JVM中的不同线程上有两个不同版本的JAR

Java 在单个JVM中的不同线程上有两个不同版本的JAR,java,classloader,Java,Classloader,是否可以运行两个不同版本的JAR,但在单个JVM的不同线程上运行。如果是这样的话,请为我指明正确的方向。当然,在使用多个实例时,这是很有可能的。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本 但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。当然,这是很有可能的-当使用多个实例时。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本 但有一句话要提醒你:

是否可以运行两个不同版本的JAR,但在单个JVM的不同线程上运行。如果是这样的话,请为我指明正确的方向。

当然,在使用多个实例时,这是很有可能的。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本


但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。

当然,这是很有可能的-当使用多个实例时。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本


但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。

不,最后加载的类文件将是要执行的类文件。这就是类在JVM中的加载方式您可以这样做,但您需要深入了解类加载器层次结构和自定义类加载器。您不需要单独的线程,只需要两个类加载器。或者您可以使用类似jarjar的工具来提供不同的版本、不同的包名。但是,拥有两个JVM并且每个JVM只有一个JAR版本可能会简单得多。这就是类在JVM中的加载方式您可以这样做,但您需要深入了解类加载器层次结构和自定义类加载器。您不需要单独的线程,只需要两个类加载器。或者您可以使用类似jarjar的工具来提供不同的版本、不同的包名。但是,拥有两个JVM并且每个JVM只有一个JAR版本可能要简单得多。