文章
按时间倒序整理的全部文章。
-
MAB 问题的解法与应用(万字长文)
MAB 是多臂老虎机(Multi Armed Bandit)的缩写,MAB 问题就是假设有个赌徒到赌场里面摇老虎机,赌场里面有 10 个老虎机,每个老虎机的赢钱概率是不一样的,此时他不知道每个老虎机的赢钱概率,而且他只有 100 个币。
-
50 行代码实现一个 KV 数据库
最简单的 KV 数据库需要多少行代码实现?
-
从零开始写 KV 数据库:基于哈希索引
新的 KV 数据库层出不穷,我们经常听说的 KV 数据库如 RocksDb、Hbase 等都是基于日志结构的存储引擎。
-
Java 类隔离加载的正确姿势
只要你 Java 代码写的足够多,就一定出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodError,然后就哼哧哼哧的开始谷歌找解决方法。
-
Java 日志框架冲突问题排查与总结
Java 有很多的日志框架可以选择,当同一个项目中出现多种日志框架时就很容易出现日志框架冲突的问题,导致日志打印不出来。
-
多视角看区块链
像很多新技术一样,区块链开始火起来的时候评价是两级分化的,有人觉得区块链会成为下一代的互联网的基础设施,有人觉得区块链没有任何价值。
-
分布式系统:一致性协议
一致性模型本质上是进程与数据存储的约定,通过一致性模型我们可以理解和推理在分布式系统中数据复制需要考虑的问题和基本假设。
-
分布式系统:Lamport 逻辑时钟
分布式系统解决了传统单体架构的单点问题和性能容量问题,另一方面也带来了很多的问题,其中一个问题就是多节点的时间同步问题:不同机器上的物理时钟难以同步,导致无法区分在分布式系统中多个节点的事件时序。
-
分布式系统:向量时钟
在上一篇文章分布式系统:Lamport 逻辑时钟中我们知道 Lamport 逻辑时钟帮助我们得到了分布式系统中的事件全序关系,但是对于同时发生的关系却不能很好的描述,导致无法描述事件的因果关系。
-
IDEA 插件开发入门教程
IntelliJ IDEA 是目前最好用的 JAVA 开发 IDE,它本身的功能已经非常强大了,但是每个人的需求不一样,有些需求 IDEA 本身无法满足,于是我们就需要自己开发插件来解决。