MRa*_*ser 5 java garbage-collection jvm memory-leaks weak-references
有没有办法强制 jvm 清除所有WeakReferences(或 a 的所有键WeakHashMap),如果它们不再被常规引用引用?
触发垃圾收集将不起作用,弱引用仍然存在。(我读到弱引用只有在内存不足时才会被清除)。
当内存不足时,软引用将被清除。
弱引用被更频繁地清除(就像对象仅剩弱引用时的所有时间一样)
查看该包的官方 Java 文档(包文档对于解释很有用): http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ref/package-summary.html
您能引用在关闭时从 Tomcat 看到的确切消息吗?你确定你没有误解它吗?对于 Tomcat 来说,重要的是没有硬引用为 ServletContext 固定 ClassLoader。
Re WeakHashMap:http://download.oracle.com/javase/1.5.0/docs/api/java/util/WeakHashMap.html 只有键是弱持有的。你用什么作为“价值”?该值是否强烈地自我引用自己的“密钥”?借此,我质疑您对 WeakHashMap 为您提供什么的理解(假设它是完成这项工作的正确工具)。
根据我的经验,您可以在第一次 GC 扫描时使用 System.gc() 100% 可靠地清除 Sun JVM 5 的 WeakReferences。但他们并不能保证这一点。
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |