Java 在单个JVM中的不同线程上有两个不同版本的JAR
是否可以运行两个不同版本的JAR,但在单个JVM的不同线程上运行。如果是这样的话,请为我指明正确的方向。当然,在使用多个实例时,这是很有可能的。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本Java 在单个JVM中的不同线程上有两个不同版本的JAR,java,classloader,Java,Classloader,是否可以运行两个不同版本的JAR,但在单个JVM的不同线程上运行。如果是这样的话,请为我指明正确的方向。当然,在使用多个实例时,这是很有可能的。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本 但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。当然,这是很有可能的-当使用多个实例时。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本 但有一句话要提醒你:
但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。当然,这是很有可能的-当使用多个实例时。意思是:当每个线程都使用自己的特殊类加载器时,这些线程可能使用同一jar文件的不同版本
但有一句话要提醒你:这确实是一个高级话题,你不想进入轻松愉快的状态!如果你真的有兴趣去那里,你可以找到一些进一步的阅读。不,最后加载的类文件将是要执行的类文件。这就是类在JVM中的加载方式您可以这样做,但您需要深入了解类加载器层次结构和自定义类加载器。您不需要单独的线程,只需要两个类加载器。或者您可以使用类似jarjar的工具来提供不同的版本、不同的包名。但是,拥有两个JVM并且每个JVM只有一个JAR版本可能会简单得多。这就是类在JVM中的加载方式您可以这样做,但您需要深入了解类加载器层次结构和自定义类加载器。您不需要单独的线程,只需要两个类加载器。或者您可以使用类似jarjar的工具来提供不同的版本、不同的包名。但是,拥有两个JVM并且每个JVM只有一个JAR版本可能要简单得多。