一、强引用
=号的引用,比如User user = new User(),强引用不会被垃圾回收,就算内存不足也不会回收
二、软引用
SoftReference<User> user = new SoftReference<>(new User()),软引用在内存不足促发full gc的时候会回收掉
三、弱引用
WeakReference<User> user = new WeakReference<>(new User());弱引用在发生gc会回收掉比如minor gc、full gc,并发工具类ThreadLocal就用到弱引用,防止key无法被回收
四、虚引用
PhantomReference<User> user = new PhantomReference<>(new User(),new ReferenceQueue()),虚引用跟没有引用一样,不一定什么时候就被回收掉,主要用来跟踪对象被垃圾回收器回收的活动
java中的四种引用(强软弱虚)
最新推荐文章于 2023-03-06 10:20:27 发布