Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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 如何使用各自的内存调用多个JAR?(避免死锁)_Java_Multithreading_Memory Management_Jar_Jvm - Fatal编程技术网

Java 如何使用各自的内存调用多个JAR?(避免死锁)

Java 如何使用各自的内存调用多个JAR?(避免死锁),java,multithreading,memory-management,jar,jvm,Java,Multithreading,Memory Management,Jar,Jvm,我正在以jar的形式运行一个多线程程序,它运行得很好。但是,如果我调用多个JAR(使用shell脚本),一段时间后就会出现死锁状态。似乎我的一个jar在等待通知时被覆盖了。(我已经用多个线程转储确认了这一点) 但为了回答我的问题:如何使用JVM自己的内存地址空间显式启动JVM,从而使死锁状态不会出现 谢谢 梅尔达莫斯 [编辑] 再说一遍 我仍然不知道到底是什么导致了死锁,但我非常确定不是.jar文件造成的。要回答您的意见: @assylias:JAR不用于外部资源或数据库。似乎死锁来自我代码的深

我正在以jar的形式运行一个多线程程序,它运行得很好。但是,如果我调用多个JAR(使用shell脚本),一段时间后就会出现死锁状态。似乎我的一个jar在等待通知时被覆盖了。(我已经用多个线程转储确认了这一点)

但为了回答我的问题:如何使用JVM自己的内存地址空间显式启动JVM,从而使死锁状态不会出现

谢谢

梅尔达莫斯

[编辑] 再说一遍

我仍然不知道到底是什么导致了死锁,但我非常确定不是.jar文件造成的。要回答您的意见:

@assylias:JAR不用于外部资源或数据库。似乎死锁来自我代码的深处。我仍然不知道为什么,我刚刚回到我的版本中一周,在那里这个死锁不存在,并从那里编程所有新的。在那之后,我没有任何问题

@Koekiebox:很抱歉,我无法提供任何代码,我只想知道相同JAR的多个调用(不使用外部Resources)是否会导致死锁,而死锁会在两者之间得到响应

谢谢和问候


梅尔达莫斯

你的描述不清楚。如果您多次运行您的程序,它们在自己的JVM中运行,并且不共享状态,除非您共享导致死锁的外部资源(例如文件或数据库)……您可以共享导致死锁的代码吗?罐子的数量与此无关。这取决于类加载器从JAR加载的类。