Java基础知识日积月累(Tip of the Day26)

it2023-07-25  75

目录

1.jdk1.7和1.8CurrentHashMap添加元素过程​

2.线程的状态

3.虚拟机中线程状态

4.线程池

5.线程池一般不做销毁

6.concurrent包下的类都是线程安全的

7.创建线程池对象

8.数据可见性问题解释

9.同步代码块Sync运行方式,变量副本就是锁

10.原子性问题在i++和++i内存要有好几部进行产生

11.轻量级锁解决原子性问题

12.轻量级锁CAS和重量级锁Sync的区别

13.并发工具类

14.ctrl+h直接查看继承关系

15.等待线程机制


1.jdk1.7和1.8CurrentHashMap添加元素过程

2.线程的状态

3.虚拟机中线程状态

4.线程池

5.线程池一般不做销毁

6.concurrent包下的类都是线程安全的

7.创建线程池对象

8.数据可见性问题解释

9.同步代码块Sync运行方式,变量副本就是锁

这里的变量副本都是线程本身的变量副本进行交换清空.

ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。  采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。  ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。  ThreadLocal在Spring中发挥着巨大的作用,在管理Request作用域中的Bean、事务管理、任务调度、AOP等模块都出现了它的身影。  Spring中绝大部分Bean都可以声明成Singleton作用域,采用ThreadLocal进行封装,因此有状态的Bean就能够以singleton的方式在多线程中正常工作了。 

10.原子性问题在i++和++i内存要有好几部进行产生

11.轻量级锁解决原子性问题

12.轻量级锁CAS和重量级锁Sync的区别

13.并发工具类

14.ctrl+h直接查看继承关系

15.等待线程机制

 

最新回复(0)