Newsgroup Archiv - Beiträge
auf www.Bastie.de
Dll entladen
Frager: Lars Laskowski vom: Dienstag, 28. November 2000
Hallo,
ein Dll die per System.loadLibrary (...) geladen wurde ... wie kann ich
diese wieder entladen, ohne Java zu beenden ?
Danke
Lars
1, Antwort: Thomas Foerster vom: Dienstag, 28. November 2000
AFAIK gar nicht! Das ist Sache des Betriebssystems. Ausserdem kannst Du ja
gar nicht wissen, ob die Library nicht auch noch von anderen Programmen
verwendet wird.
Thomas
1.1 Antwort: Lars Laskowski vom: Donnerstag, 30. November 2000
Klar weiß ich ob die Dll noch verwendet wird .... sie wird ja nur von
dem Programm verwendet ... also weiß ich genau ob sie noch benötigt
wird oder nicht. unter C/C++ kann ich schließlich auch meine Dll's
entladen ... warum also nicht auch in Java ?
1.1.1 Antwort: Aljoscha Rittner vom: Donnerstag, 30. November 2000
Was faktisch keine Auswirkung hat, wenn ein anderes Programm die DLL
zusätzlich nutzt. Das du sagst, du wärest der einzige Nutzer ist auf
einem Multitasking-System letztendlich eine akademische Frage (wie
häufig kann denn dein Programm gestartet werden?)
Das Java kein Unload hat liegt an der logischen Konsequenz der Nutzung
des gc() (wobei das loadLibrary dem genau entgegen sprechen würde ;-)
Anscheinend ist es im VM-Design leider so, dass gelinkte Objekte (per
native-Methoden) ihre Libs bis zum letzten Atemzug benötigen. Ich
hoffe nur dass der gc() wenigsten die Lib freigibt, wenn dem nicht
mehr so ist. Das kann man aber leicht überprüfen.
Gruß,
Josch.
zur Übersicht
all rights reserved © Bastie - Sebastian Ritter @:
w³: http://www.Bastie.de
Diese Seite ist Bestandteil der
Internetpräsenz unter http://www.Bastie.de
Java
Cobol
Software
Resourcen
Service
Links
Über mich
Zum Gästebuch
Forum