线程通信内存模型 JMM
问题
本地内存什么时候木有:
线程中也会根据LRU算法进行清除内存,具体多少时间看配置等,清除之后,会再次一次想主内存进行拉去数据
线程上下文切换
为什么不要开很多线程?
线程之间会进行上下文切换,其中切换需要时间,一般5-10ms,所以变免开太多线程,乱用线程
组成
保证可见性:
1:通过volatile保证可见性
2:通过内存屏障保证可见性
3:通过synchronized关键字保证可见性
4:通过Lock保证可见性
5;通过final保证可见性
-------------------------------归为两类
1:jvm层面storeLoad内存屏障
2:上下文切换