跳到主要内容

ArrayList 很好用,但 LinkedList 并不是它的自然升级版

· 阅读需 2 分钟
一介布衣
全栈开发者

Java 集合一学到 ArrayListLinkedList,很多人就会形成一个很顺手的印象:前者适合查,后者适合增删,于是当某段代码出现“可能会插入删除”的需求时,就很自然地想把 LinkedList 搬出来。可真到业务代码里,这个选择远没有口诀那么简单。

Go 里更隐蔽的问题,往往不是死锁而是 goroutine 泄漏

· 阅读需 2 分钟
一介布衣
全栈开发者

刚开始学 Go,并发部分最容易让人紧张的词就是“死锁”。这当然没错,因为死锁一出现,程序常常会非常明显地挂在那里。可等你真正把 Go 服务跑起来一段时间后,会发现另一类问题更难受:goroutine 没有马上死掉,而是在后台一点点堆起来。

Java 集合遍历删除,最怕的是看起来能跑

· 阅读需 2 分钟
一介布衣
全栈开发者

Java 集合遍历删除这个问题,很多人都知道有坑。
可真正麻烦的地方在于,它不是每次都立刻用最醒目的方式出错。有些代码在某个数据量、某种路径下能跑,看起来像是可用的,结果一换场景就开始报错或者漏删,这种“看起来能跑”的状态反而最危险。