Servus,
ich habe eine Klasse mit diversen Native-Methoden in Java geschrieben.
Wird ein Objekt erstellt, ruft der Konstruktor eine Native-Methode auf, in der unter C/C++ Speicher angefordert wird.
Wenn dieses Objekt jedoch vom Garbage Collector gelöscht wird, muss auch der unter C/C++ angeforderte Speicher frei gegeben werden.
Man muss unter C/C++ also irgendwie informiert werden, wenn das Objekt vom GC eingesammelt wurde.
Und bei finalize() kann man ja nicht sicher gehen, dass es auch vom GC aufgerufen wird.
Ich bin für jeden Vorschlag zur Lösung des Problems dankbar!
ich habe eine Klasse mit diversen Native-Methoden in Java geschrieben.
Wird ein Objekt erstellt, ruft der Konstruktor eine Native-Methode auf, in der unter C/C++ Speicher angefordert wird.
Wenn dieses Objekt jedoch vom Garbage Collector gelöscht wird, muss auch der unter C/C++ angeforderte Speicher frei gegeben werden.
Man muss unter C/C++ also irgendwie informiert werden, wenn das Objekt vom GC eingesammelt wurde.
Und bei finalize() kann man ja nicht sicher gehen, dass es auch vom GC aufgerufen wird.
Ich bin für jeden Vorschlag zur Lösung des Problems dankbar!