Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我们的 Web 应用程序中,我们正在与正在泄漏内存的第三方库进行交互。这会导致我们的应用程序崩溃:(
一种替代方法是在单独的操作系统进程中运行该第三方。
还有其他选择吗?
两种方法:
1) 通过 Runtime.exec() 将其作为单独的 OS 进程运行,通过命令行、标准输出或文件进行通信;
或者,
2) 在单独的 JVM 中将其作为服务运行,围绕其库编写外观并通过 TCP/序列化进行通信。
我可能会专注于选项 2),但是当服务停止响应时,有代码自动重启服务(选项 1)。
您还可以尝试更新版本的库,看看是否有帮助。最后,您可以获得代码并尝试分析/修复泄漏。不过,如果它是 C++ 就不容易了。