注:这篇手记是为《Java并发编程与高并发解决方案》课程的学员特意准备的。
开篇首先感谢大家对这门课程的支持。根据大家平时在群里讨论的和问题区提问的内容,我专门做了这篇手记来对【问题】和【解答】做一下整理,并持续更新。希望大家保持这种爱提问多讨论的方式,也希望这篇问题汇总手记能在实际中帮助到大家。
学习完课程,如果感觉课程不错的话,别忘了给课程个好评,谢谢啦~
《Java开发企业级权限管理系统》问题汇总
这个直接上图片好了:
其实不是没用过,真的只是还没意识到而已。
- 关于CAS中compareAndSwapInt(var1, var2, var5, var5 + var4)的理解
compareAndSwapInt(var1, var2, var5, var5 + var4)换成 compareAndSwapInt(obj, offset, expect, update)能清楚一些,如果obj内的value和expect相等,就证明没有其他线程改变过这个变量,那么就更新它为update,如果这一步CAS没有成功,那就采用自旋的方式继续进行CAS操作。这块是一个CPU指令完成的,依旧是原子操作。 - CPU缓存及涉及到MESI模型不是很懂
其实这一部分主要属于计算机底层硬件的一些知识,面试基本不会考,核心是希望大家知道课程里要重点介绍的Java内存结构是基于这样的底层做的一些规定,否则Java内存结构直接出来大家会奇怪为什么要引入这么一层规定。
具体的理解可以参考这个回答:http://coding.imooc.com/learn/questiondetail/47261.html - 课程里线程逃逸不是很懂?
来看这篇问答:http://coding.imooc.com/learn/questiondetail/47686.html - FutureTask没感觉比Future好在哪里?
http://coding.imooc.com/learn/questiondetail/48270.html - ReentrantReadWriteLock误用可能带来的死锁问题
http://coding.imooc.com/learn/questiondetail/49267.html