Java调用导致C ++内存泄漏

时间:2018-12-28 03:53:00

标签: java c++ jna

我有一个关于在Java中调用c ++的内存泄漏的问题。如果我的c ++函数存在内存泄漏问题,请在Java应用程序中调用它。

  1. 我可以通过JVM工具找到问题吗?
  2. 如果内存连续泄漏,java是否可以捕获内存不足异常?
  3. 我通过JNA方式调用c ++函数并使用JNA结构对象,我需要自己管理它们的内存。

1 个答案:

答案 0 :(得分:0)

  • 首先,所有C ++代码都在JVM的控制之外运行,因此您无法通过JMC之类的JVM工具找到问题。

  • 对于第二个OutOfMemoryError也不例外,这是一个错误,如果JVM中的内存已满,您可以捕获它,但是在捕获到该错误之后您仍然无法对此进行任何思考,但是在您的情况下C ++代码在JVM外部运行,该错误不会直接被Java捕获,您需要在C ++中自行处理。

  • 3rd是的,您必须自己管理内存。