Шаблон проектирования для зависимостей указателя JNI - PullRequest
2 голосов
/ 19 марта 2011

Я создаю Java-оболочки для некоторого кода на C, используя JNI.Есть зависимости на стороне C, которые выглядят так:

a = make_a();
b = make_b(a);

На стороне Java я использую class A и class B для хранения ссылок на выходные данные make_a() и make_b, а такжес различными операциями.Кроме того, class B зависит от class A.

Как мне создать зависимость между двумя классами из JNI?

Обновление

Мне нужно, чтобы класс A не был GC'd, когда класс B используется, и мне нужно создать эту зависимость изнутри JNI.

1 Ответ

1 голос
/ 26 марта 2011

Я думаю, что вы хотите, чтобы NewGlobalRef / DeleteGlobalRef. Это позволит вашему JNI держаться за ссылку на объект. Будьте осторожны - это простой способ создать утечки памяти, так как вы можете удалить ссылку!

Вот несколько ссылок, которые помогут вам:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...