在我的申請的應用程序和JVM本身。我知道也許不是一個普通的話題,「從JVM卸載類」,有一些條件發生,所以我正在做必要的努力。爲了確保在所有工作預計像我正在跟蹤的類加載和卸載與-XX:+ TraceClassLoading和-XX:+ TraceClassUnloading,從這個參數的信息讓我發現,我可以做任何模塊的完全卸載mi應用程序和JVM本身(在完整GC期間從JVM卸載)。所有這一切似乎工作正常......但我的問題是爲什麼模塊類被加載的.jar文件被JVM保持打開,那個.jars不能被刪除,但是JVM說已經從它們中卸載了類。顯然,這是在JVM執行期間,但是爲什麼如果JVM沒有從它們加載類時保持打開該.jar文件,我可以做什麼來強制JVM釋放該.jar文件?類加載/卸載的加載類具有不同的類裝入器來從JVM卸載它們當我使用的ServiceLoader時不從上下文需要加載模塊與不同類加載器(從.jar文件的類)以完全卸載它們不需要
0
A
回答
0
問題應不同的Web容器內進行深入探討。
一些谷歌搜索顯示出來表示Tomcat 6.x的有選擇antiJARLocking該選項在Tomcat的源用於在http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/loader/
請閱讀來源,你會得到的加載/卸載代碼示例在那裏。
相關問題
- 1. 爲什麼不卸載類加載器就不能卸載類?
- 2. 爲什麼JVM不支持強制類/類加載器卸載?
- 3. 卸載類加載器
- 4. 使用不同的加載器在JVM中加載兩次類
- 5. AS3 - 從VAR加載的卸載類
- 6. 爲什麼jvm在沒有人真的需要它時從jar中加載類?
- 7. 如何比較從2個不同的類加載器加載的2個類
- 8. java中不同的類加載器需要什麼
- 9. 從不同的類加載面板
- 10. Symfony的類加載器不會加載
- 11. 如何使用兩個不同的類加載器加載同一個類
- 12. 我需要刪除加載的SWF文件加載到不同的SWF文件
- 13. JVM類加載器無法加載從擴展類路徑
- 14. Acrobat加載項不能從IE8卸載
- 15. JBoss不從模塊加載內部類
- 16. 使用現有類加載器加載文件夾中的類
- 17. 在運行時加載和卸載不同版本的jar
- 18. 不要加載/掃描來自特定jar的類文件
- 19. 內容不從類加載
- 20. wildfly不從web.xml加載類
- 21. JAR不在classpath上,強制類加載器從它讀取文件
- 22. Zend_Loader_Autoload_Module不加載模塊類
- 23. 有沒有辦法強制類加載器加載一個包,即使它們的類沒有被加載?
- 24. 如何將動態從不同位置加載到當前類加載器?
- 25. 從Web應用程序中的不同類加載器加載庫
- 26. 從文本文件加載不同的數據類型
- 27. Java重載類來加載項目類而不是Jar類
- 28. 從類加載器不可見接口
- 29. JVM中的類加載器
- 30. 只有當我真正需要它們時,require.js纔會加載我的文件
有關「antiJARLocking」的信息說:「如果爲true,Tomcat類加載程序將採取額外措施,以避免在通過URL在JAR內部訪問資源時JAR文件被鎖定,這會影響應用程序的啓動時間,但可能會證明是有用的在可能發生文件鎖定的平臺或配置上。「。所以你建議做同樣的tomcat?而且JVM不夠智能來釋放文件? – Wyvern666