强引用,软引用,弱引用,虚引用

这几种引用  主要用于垃圾回收内存优化使用:

根可达强引用,不能被垃圾回收器回收。

根可达软引用,当内存分配不足时,会被垃圾回收器回收。--可用于缓存类应用。

根可达弱引用,不管内存足不足时,只要垃圾回收器执行就会回收掉弱引用对象。--一次性访问的情况下可以使用,回收时调用fianlize方法。

根可达虚引用,不能通过m.get的方式访问到对象内容,垃圾回收器质性随时都可以回收掉虚引用。--可用于堆外内存(直接内存)管理

说明:jvm虚拟机 有专门的线程用于管理虚引用处理堆外内存。当虚引用对象被回收后,对应的堆外内存对象调用c++的处理方式回收内存。

 

强引用,软引用,弱引用 对象  都可以通过对象m.get的方法拿到对象内容,而虚引用无法通过m.get的方法拿到对象内容。

 

posted on 2020-07-12 11:49  xiangoffice  阅读(187)  评论(0编辑  收藏  举报

导航