Spring Security 看起来配置很多,但主线并不复杂。抓住认证、授权和过滤器链这三个关键词,整体结构…
这两个结构都能存一组数字,但它们服务的目标完全不同。`int[]` 更偏底层和性能,`ArrayList<…
默认情况下,Spring Bean 是单例作用域,也就是同一个容器里同一个 Bean 定义只创建一份实例。 默…
乐观锁的核心不是先把数据锁住,而是更新时确认数据有没有被别人改过。适合读多写少、冲突概率不高的场景。 最常见的…
把所有异步任务都塞进同一个线程池,前期看着省事,后面通常最容易互相拖垮。普通异步、守护定时和关键定时之所以要拆…
很多人学到 Selector 时会卡在这里:内核都已经告诉你某个连接可读了,那数据到底是谁去把它读出来?答案通…
理解 NIO 线程,关键是把“等待数据准备好”和“真正读写数据”这两件事拆开看。很多人以为用了 NIO 就完全…
如果面试官在“数组里找重复数字”这道题上继续追问,最常见的升级条件就是:不能修改原数组。这时,原地置换思路就不…
这三个词都在描述程序和操作系统打交道时处理 IO 的方式。想快速区分,重点看线程是不是要一直等、数据准备好后谁…
这个问题容易混,是因为大家把内核里的 IO 模型和框架对外提供的编程体验放在一起说了。Netty 底层依赖 J…