javaSE基础(6)——并发,网络编程,反射

烂漫一生 提交于 2019-11-26 10:15:57

1 并发编程

1.1 ThreadLocal

ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。

ThreadLocal的核心机制
1.每个Thread线程内部都有一个Map。
2.Map里面存储线程本地对象(key)和线程的变量副本(value)
3.但是,Thread内部的Map是由ThreadLocal维护的,由ThreadLocal负责向map获取和设置线程的变量值。

Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。所以ThreadLocal的应用场合,最适合的是按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。

参考博客:
https://www.jianshu.com/p/98b68c97df9b
https://www.cnblogs.com/dolphin0520/p/3920407.html

网络编程

反射(基础)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!