引用类型 强引用StrongReference 最长使用 软引用SoftReference 在即将OOM之前,垃圾回收器会把这些软引用指向的对象加入回收范围 一般可用于同一台服务器内缓存低频访问的中间结果 弱引用WeakReference 下一次YGC时会被回收 虚引用PlantomReferenc ...
分类:
其他好文 时间:
2019-01-19 14:26:38
阅读次数:
246
一、用法ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己当前线程的变量,而不会影响其他线程的变量。1、ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。2、ThreadL ...
分类:
其他好文 时间:
2019-01-16 01:09:05
阅读次数:
174
多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式;jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、读写锁)、ThreadLocal ...
分类:
编程语言 时间:
2019-01-15 14:00:41
阅读次数:
223
本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLoc ...
分类:
其他好文 时间:
2019-01-14 00:19:09
阅读次数:
204
ThreadLocal的基本含义 ThreadLocal代表线程局部变量,就是为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量一样。 下面是它的用法示例: java class Acco ...
分类:
其他好文 时间:
2019-01-13 19:02:51
阅读次数:
160
ThreadLocal ThreadLocal将代码修改一下~ ...
分类:
编程语言 时间:
2019-01-12 13:25:00
阅读次数:
151
1.作用 Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。 ThreadLocal最适合按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到(线程内传递数据 而不用利用方法参数显式传递) ThreadLocal为每个使用该变量的 ...
分类:
其他好文 时间:
2019-01-09 00:32:34
阅读次数:
177
公司目前数据源为主从模式:主库可读写,从库只负责读。使用spring-jdbc提供的AbstractRoutingDataSource结合ThreadLocal存储key,实现数据源动态切换。 最近项目加入数据源切换后,偶尔会报出read-only异常,百思不得其解...... RoutingDat ...
分类:
其他好文 时间:
2019-01-06 14:26:13
阅读次数:
707
前言 前面的文章里,我们学习了有关锁的使用,锁的机制是保证同一时刻只能有一个线程访问临界区的资源,也就是通过控制资源的手段来保证线程安全,这固然是一种有效的手段,但程序的运行效率也因此大大降低。那么,有没有更好的方式呢?答案是有的,既然锁是严格控制资源的方式来保证线程安全,那我们可以反其道而行之,增 ...
分类:
编程语言 时间:
2019-01-03 11:03:24
阅读次数:
164
线程局部变量 创建实例 写入 读取 移除 ThreadLocalMap static class ThreadLocalMap { / ThreadLocalMap 的 Entry 继承了 WeakReference,以便能处理大量的条目, 当 entry.get()==null 时,表示关联的 T ...
分类:
其他好文 时间:
2019-01-02 20:43:18
阅读次数:
191