- 博客(2)
- 收藏
- 关注
原创 Volatile 以DCL失效谈内存屏障用来禁止指令重排序的原理
引言大家都知道volatile关键字具有两重语义即:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2)禁止进行指令重排序。 第一个好理解,也就是说每次修改都立即更新到主内存,那么禁止重排序这个在网上更多的解释是说使用了内存屏障,使得前后的指令无法进行重排序。(关于volatile详解) 那么问题来了,什么是内存屏障?...
2018-06-16 16:45:22 2316 5
原创 你真的了解Java引入异常机制的作用么?
前两天腾讯面试官问了我这样一个问题,为什么java要引入异常处理机制,让程序崩溃不是很不友好么?我之前也没思考过这个问题,临场发挥,想了想给出了这么一个回答:“发生了异常,说明程序已经发生错误了,如果不及时处理异常,错误将会方法,发生不可预期的损失,最好就是在源头掐灭它,而让程序崩溃也是无可奈何的事情,相比较损失,崩溃APP可能会让损失小点”。面试过后,我回头总结这次面试的时候又想起了这个点,觉得...
2018-06-07 17:39:18 2547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人