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

本文深入探讨了Java并发编程的核心概念和技术,包括不同版本的ConcurrentHashMap的工作原理、线程的状态与管理、线程池的设计与应用、数据可见性和原子性问题的解决方案,以及轻量级锁的机制等内容。
摘要由CSDN通过智能技术生成

目录

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.等待线程机制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值