JNI: gerenciar adequadamente a vida útil de um objeto Java
Quando eu crio um ponto de implementação nativo em c ++, como posso garantir que a parte nativa também seja excluída quando o objeto java é excluído pela JVM? Eu posso adicionar alguns métodos que o usuário do objeto java tem que chamar explicitamente, mas eu gostaria de saber se há algum gancho que eu poderia colocar para manipular quando o objeto java é excluído (lixo coletado) para que eu possa excluir automaticamente o objeto de implementação c + + também.
eu reviseiJACE parece que faz isso, mas eu precisaria executar o PeerEnhancer para corrigir o arquivo de classe gerado (provavelmente é assim que ele engata delete? ou talvez precise desse patch para outra coisa). No entanto, eu gostaria de evitar mexer com arquivos java compilados, eu não quero nada extravagante