Java有几种引用类型?

  有这样一类对象:当内存空间还足够,则可保留在内存中;如果内存空间在gc之后还是非常紧张,则可抛弃这些对象。很多系统的缓存功能适合这样的场景,所以jdk1.2以后
java将引用分为了强引用、软引用、弱引用、虚引用四种,引用强度一次减弱。
  • 强引用:类似Object a=new Object()这类,永远不会被回收。
  • 软引用:SoftReference,当系统快要发生内存溢出异常时,将会把这些对象列入回收范围进行二次回收,如果这次回收还是没有足够内存,则抛出内存溢出异常。
  • 弱引用:比软引用更弱,活不过下一次gc。无论当前内存是否足够,下一次gc都会被回收掉。
  • 虚引用:又叫幻引用,最弱,一个对象时候有虚引用的存在,不会对它的生存时间构成影响,唯一目的就是能在这对象被回收以后收到一个系统通知。。
 
posted @ 2017-04-28 23:29  konami  阅读(4398)  评论(0编辑  收藏  举报