утечка памяти в c ++ при вызове java - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть вопрос об утечке памяти при вызове c ++ в Java.Если у моей функции c ++ есть проблема с утечкой памяти, то когда я вызываю ее в своем java-приложении.

  1. Могу ли я найти проблему с помощью инструментов JVM?
  2. Если утечка памяти происходит постоянно, javaможно перехватить исключение нехватки памяти?
  3. Я вызываю функцию c ++ способом JNA и использую объекты структуры JNA, мне нужно самостоятельно управлять памятью из них.

1 Ответ

0 голосов
/ 28 декабря 2018
  • Прежде всего, код C ++ запускается вне контроля JVM, поэтому вы не можете найти проблему ни с одним инструментом JVM, таким как JMC .

  • Для 2-го OutOfMemoryError не исключение, это ошибка, которую вы можете поймать, если память заполнена внутри JVM, и все же вы не можете думать об этом после перехвата этой ошибки, ноздесь, в вашем случае, код C ++, запускаемый вне JVM, эта ошибка не перехватывается непосредственно Java, вам нужно обработать ее в C ++ самостоятельно.

  • 3-й Да, вы должны самостоятельно управлять памятью.

...