java引用的四种类型
强引用,当引用不存在时,被引用的对象才会变成垃圾,接下来会被GC回收
软引用,当内存不够的时候,软引用指向的对象才会被回收,内存不满的时候,即使执行GC,该对象也不会被回收,软引用非常适合缓存使用场景
弱引用,只要发生GC,被弱引用指向的对象如果没有强引用指着就一定会被回收
虚幻引用,被虚幻引用指向的对象,不管是否被回收,该对象都get不到,但是当GC的时候,该对象会被放到Queue里(类似一个信号一样,所以对于虚幻引用的处理,通常需要监控Queue)
作用,管理直接内存(堆外内存),这个用的很少很少