JNI: poprawnie zarządza czasem życia obiektu Java

Kiedy tworzę natywną implementację równorzędną w c ++, jak mogę zapewnić, że natywna część jest również usuwana, gdy obiekt Java zostanie usunięty przez JVM? Mogę dodać kilka metod, które użytkownik java obiekt musi wywołać jawnie, ale chciałbym wiedzieć, czy istnieje jakiś hak, który mógłbym obsłużyć, gdy obiekt java został usunięty (zbieranie śmieci), dzięki czemu mogę automatycznie usunąć obiekt implementacji c ++ także.

przejrzałemJACE wygląda na to, że to robi, ale musiałbym uruchomić PeerEnhancer, aby załatać wygenerowany plik klasy (prawdopodobnie tak właśnie go usuwa? A może potrzebuje tego łatania dla czegoś innego). Jednak chciałbym uniknąć bałaganu z kompilowanymi plikami java, nie chcę niczego wymyślnego

questionAnswers(2)

yourAnswerToTheQuestion