码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-06 09:19:03      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:弱引用   内存泄露   weak   reference   java   


本篇态度: 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

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

标签:弱引用   内存泄露   weak   reference   java   

原文地址:http://blog.csdn.net/gsky1986/article/details/45522435

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!