注:这篇手记是为《Java并发编程与高并发解决方案》课程的学员特意准备的。
开篇首先感谢大家对这门课程的支持。根据大家平时在群里讨论的和问题区提问的内容,我专门做了这篇手记来对【问题】和【解答】做一下整理,并持续更新。希望大家保持这种爱提问多讨论的方式,也希望这篇问题汇总手记能在实际中帮助到大家。
学习完课程,如果感觉课程不错的话,别忘了给课程个好评,谢谢啦~
其他汇总手记 课程问题整理1、感觉以前从来没用过多线程并发相关的技术, 学习了课程之后 , 感觉还是不咋会用
这个直接上图片好了:
其实不是没用过,真的只是还没意识到而已。
2、关于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指令完成的,依旧是原子操作。
3、CPU缓存及涉及到MESI模型不是很懂
其实这一部分主要属于计算机底层硬件的一些知识,面试基本不会考,核心是希望大家知道课程里要重点介绍的Java内存结构是基于这样的底层做的一些规定,否则Java内存结构直接出来大家会奇怪为什么要引入这么一层规定。
具体的理解可以参考这个回答:http://coding.imooc.com/learn/questiondetail/47261.html
4、课程里线程逃逸不是很懂?
来看这篇问答:http://coding.imooc.com/learn/questiondetail/47686.html
5、FutureTask没感觉比Future好在哪里?
http://coding.imooc.com/learn/questiondetail/48270.html
6、ReentrantReadWriteLock误用可能带来的死锁问题
http://coding.imooc.com/learn/questiondetail/49267.html
7、Fork/Join框架实际使用应该注意的地方
http://www.imooc.com/article/24822
8、对于并发的理解,我不知道该在什么场景使用相关的技术,希望能有具体的场景说明
1)http://coding.imooc.com/learn/questiondetail/53881.html
2) https://coding.imooc.com/learn/questiondetail/52363.html
3) https://coding.imooc.com/learn/questiondetail/51162.html
9、我在调试HashMap源码时,发现和老师讲的不一致
http://coding.imooc.com/learn/questiondetail/53847.html ,这里介绍了调试被影响的一个典型case,也share了一下idea调试的小技巧
10、LongAdder实现的理解
热门评论
讲解ReentrantReadWriteLock章节时源码中writeLock.lock()应该对应writeLock.unlock()吧
老师,代码资料和你视频里讲的少了一些,求补充
感觉股票例子根本没有接触不懂得业务结合讲不明所以,希望多从电商角度出发