乐观锁的核心不是先把数据锁住,而是更新时确认数据有没有被别人改过。适合读多写少、冲突概率不高的场景。 最常见的…
把所有异步任务都塞进同一个线程池,前期看着省事,后面通常最容易互相拖垮。普通异步、守护定时和关键定时之所以要拆…
很多人学到 Selector 时会卡在这里:内核都已经告诉你某个连接可读了,那数据到底是谁去把它读出来?答案通…
理解 NIO 线程,关键是把“等待数据准备好”和“真正读写数据”这两件事拆开看。很多人以为用了 NIO 就完全…
如果面试官在“数组里找重复数字”这道题上继续追问,最常见的升级条件就是:不能修改原数组。这时,原地置换思路就不…
这三个词都在描述程序和操作系统打交道时处理 IO 的方式。想快速区分,重点看线程是不是要一直等、数据准备好后谁…
这个问题容易混,是因为大家把内核里的 IO 模型和框架对外提供的编程体验放在一起说了。Netty 底层依赖 J…
测试开发岗位的高频问题之一,是“你如何用开发经验解决测试问题”。真正有说服力的回答,不是罗列工具名,而是说明你…
用 ta4j 计算布林带时,最容易卡住的往往不是公式,而是时间序列、收盘价指标和窗口参数应该怎么组织。把这些基…
做量化或行情分析时,EMA 看起来公式不复杂,但真正落到工程里,还会碰到数据结构、指标复用和回测扩展这些问题。…