volatile可见性原理最强总结
herman 5年前 (2020-01-11) 2950浏览
最近看到一篇很好的 volatile 可见性原理总结,分享给大家! volatile 是一种轻量且在有限的条件下线程安全技术,它保证修饰的变量的可见性和有序性,但非原子性。相对于 synchronize 高效,而常常跟 synchronize...
herman 5年前 (2020-01-11) 2950浏览
最近看到一篇很好的 volatile 可见性原理总结,分享给大家! volatile 是一种轻量且在有限的条件下线程安全技术,它保证修饰的变量的可见性和有序性,但非原子性。相对于 synchronize 高效,而常常跟 synchronize...
herman 6年前 (2019-07-02) 3439浏览
我们都知道,ArrayList 天生就不是线程安全的,但是很多人也就是道听途说而已。并没有实际的进行测试,也并不清楚 ArrayList 为什么不是线程安全的! 这不,昨天还有人问我为什么?说面试官让他写一个 bug。答案其实很简单,今天我们...
herman 6年前 (2019-06-16) 3728浏览
二级索引又称为非唯一索引。那么针对非唯一索引,如果查询命中的是二级索引,那么在 RR 和 RC 级别下,又会加哪些锁呢?今天我们再来一起看看! 还是之前两篇文章中的测试数据,我直接粘贴过来! CREATE TABLE `xttblog`...
herman 6年前 (2019-06-16) 3065浏览
最近群里不少人讨论了一些高质量的问题。我今天抽时间给大家总结一个 MySQL InnoDB 存储引擎各种不同 SQL 情况下,加行锁、间隙锁、next-key lock 做一个总结。如果有错误的地方,请大家指正! MySQL的所有锁 为...
herman 6年前 (2019-05-26) 2750浏览
最近一个同学发来消息说,公司里有一段代码使用的线程经常会发生一些莫名其妙的问题。让我帮忙看看,我仔细看了很多遍线程的相关代码。最后注意到了 InterruptException 异常,把想法和 demo 代码给他说了后,问题果真被解决了。 危...
herman 6年前 (2019-03-14) 2965浏览
很多人都想进 BAT,但是并不是每个人都能如愿。BAT 的面试非常的严格,今年春招,阿里的一道线程面试题,就淘汰了无数的人! 今天我对这道题,分别用了 3 种不同的方法实现了,供大家参考! 题目如下: 通过N个线程顺序循环打...
herman 6年前 (2019-03-14) 2133浏览
相信不少人今天上班时候,被各大新闻网站弹出一条消息,类似 Facebook 全球发生故障之类的新闻。 Facebook 做为全球少有的几大互联网巨头,发生点故障就能引起巨大的波澜。Facebook 全球十几亿用户,一时间大家上不了 Face...
herman 6年前 (2019-03-04) 1975浏览
昨天,我面试了不少程序员,很多程序员和背书一样。于是后面,我就改变了一下面试技巧。给来的人,一人一台电脑,要求写出个死锁程序,并且使用 jstack 分析出现问题的代码。时间不能超过 1 个半小时。 问题一出,有两个程序员起身要走了,我问为...
herman 6年前 (2019-02-25) 9364浏览
最近,我们的电商项目中需要一个限流功能,我打算使用令牌桶实现。 然后,我就网上查了一些关于令牌桶算法的文章,用 Java 实现了一个。但是其中有一点问题,所以,我就想参考一下 guava 中 RateLimiter 的实现。但是发现 com...
herman 6年前 (2019-02-21) 3218浏览
别被标题迷糊了,隔离技术不光在电商系统中使用,而是大量的在各分布式系统中存在。今天我们就一起来聊一个最简单的线程隔离技术。 线程隔离技术,也称是线程池隔离技术。最著名的使用者算 Hystrix 了。Hystrix 提供了两种隔离策略,分布式...