java基础之引用及ThreadLocal(一)

JAVA引用类型

引用类型备注使用场景
强引用没有其它对象指向,会被回收普通场景
软引用new SoftReference<>(),如果内存不足,垃圾回收器就会将他回收用于缓存
弱引用new WeakReference<>(),垃圾回收器执行就会回收ThreadLocal
虚引用new PhantReference<>(),创建一下虚引用的对象,它需要一个队列,当虚引用执行的对象回收后,虚引用对应队列的位置会打一个标记,让jvm回收时,告诉操作系统取回收堆外内存堆外内存

 TheadLocal

 使用场景:

1.复杂的参数传递
2.事务处理:保证同一个线程使用相同的连接

结构

类似于大key(线程id) + 小key(this, 指向TheadLocal对象,弱引用) + value(存储的值)

        ThreadLocal<String> tl = new ThreadLocal<>();
        tl.set("mingji"); //设置value
        tl.remove(); //先删除value的值,不然会导致内存泄漏
        tl = null; //设置变量为null,这样key对应的对象才能被删除

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值