Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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_Memory Leaks - Fatal编程技术网

java在独立进程中运行的替代方案

java在独立进程中运行的替代方案,java,memory-leaks,Java,Memory Leaks,在我们的Web应用程序中,我们与正在泄漏内存的第三方库进行接口。这会导致我们的应用程序崩溃:( 另一种选择是在单独的操作系统进程中运行该第三方 还有其他选择吗?两种方法: 1) 通过Runtime.exec()将其作为单独的操作系统进程运行,通过命令行、标准输出或文件进行通信 或者 2) 将其作为服务在单独的JVM中运行,围绕其库编写一个外观&通过TCP/序列化进行通信 我可能会关注选项2),但有代码可以在服务停止响应时自动重新启动服务(选项1) 您也可以尝试他们的库的更新版本,看看是否有帮助。

在我们的Web应用程序中,我们与正在泄漏内存的第三方库进行接口。这会导致我们的应用程序崩溃:(

另一种选择是在单独的操作系统进程中运行该第三方

还有其他选择吗?

两种方法:

1) 通过Runtime.exec()将其作为单独的操作系统进程运行,通过命令行、标准输出或文件进行通信

或者

2) 将其作为服务在单独的JVM中运行,围绕其库编写一个外观&通过TCP/序列化进行通信

我可能会关注选项2),但有代码可以在服务停止响应时自动重新启动服务(选项1)


您也可以尝试他们的库的更新版本,看看是否有帮助。最后,您可以获取代码并尝试分析/修复泄漏。不过,如果C++是不容易的,升级第三方库可以帮助。我不认为将其作为一个单独的进程运行会真正解决问题。最好的选择是修复库,使其不会出现内存泄漏。我发现这个问题现在“已解决”,但没有解释为什么/如何违反“准则”。我只是寻找一些标准方法,也许是一些已知的库,可以用来解决实际问题;可能只有两个合理的建议,我使用基于(1)的方法做了类似的事情。我更喜欢使用Runtime.exec()函数来分离操作系统进程+1.