您的位置:首页 > 职场人生

【高级java程序员应该知道的小知识】weak reference

2015-05-06 05:16 211 查看

本篇态度: simple & stupid

weak reference

Weak reference objects, which do not prevent their referents from being made finalizable, finalized, and then reclaimed. Weak references are most often used to implement canonicalizing mappings.

弱引用不会阻止其引用的对象变成finalizable、finalized状态并最终被GC回收。

finalizer方法:在GC回收对象前执行此方法,一般此方法用于手工释放其它系统资源。

finalizable对象:jvm的GC最终会执行其finalizer方法。

finalized状态:对象的finalizer方法已被自动执行。

用法:

WeakReference<Class<?>> ref = map.get(name); 
    if (ref != null) {
       clazz = ref.get();
    }


用途:

一般配合WeakHashTable做缓存时使用,不想手工关注某个对象的释放,也不想因为忘记此对象的释放而造成内存泄露的话就用weak reference吧。

【版权所有@foreach_break 转载请注明出处 博客地址http://blog.csdn.net/gsky1986
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: