java 的调用导致 c++ 内存泄漏
c++ memory leak by java's calling
我对 java 中调用 c++ 的内存泄漏有疑问。如果我的 c++ 函数有内存泄漏问题,当我在我的 java 应用程序中调用它时。
- 我可以通过JVM工具找到问题吗?
- 如果内存不断泄漏,java能捕获out of memory异常吗?
- 我用JNA方式调用c++函数,使用JNA结构对象,需要自己管理内存。
首先,C++ 代码 运行 在 JVM 的控制之外,因此您无法通过任何 JVM 工具(如 JMC)发现问题。
对于第二个 OutOfMemoryError
也不例外,它是一个错误,如果 JVM 内存已满,您可以捕获它,但在捕获该错误后您仍然无法对此做任何思考,但是在你的情况下,JVM 之外的 C++ 代码 运行 这个错误不会被 java 直接捕获,你需要在 C++ 中自行处理它。
3rd Yes you have to manage memory by your self.
我对 java 中调用 c++ 的内存泄漏有疑问。如果我的 c++ 函数有内存泄漏问题,当我在我的 java 应用程序中调用它时。
- 我可以通过JVM工具找到问题吗?
- 如果内存不断泄漏,java能捕获out of memory异常吗?
- 我用JNA方式调用c++函数,使用JNA结构对象,需要自己管理内存。
首先,C++ 代码 运行 在 JVM 的控制之外,因此您无法通过任何 JVM 工具(如 JMC)发现问题。
对于第二个
OutOfMemoryError
也不例外,它是一个错误,如果 JVM 内存已满,您可以捕获它,但在捕获该错误后您仍然无法对此做任何思考,但是在你的情况下,JVM 之外的 C++ 代码 运行 这个错误不会被 java 直接捕获,你需要在 C++ 中自行处理它。3rd Yes you have to manage memory by your self.