分类 JAVA 下的文章

JDK ConcurrentSkipListMap 跳表数据结构

在 JDK 并发包中,除了常用的哈希表外,还实现了一种能够在高并发中保持有序性的数据结构:`跳表`。 之前在看《Redis设计与实现》一书时,了解到`Redis`实现中也用到了该数据结构,但是该...

JAVA 并发编程 - 错误的加锁

在并发编程中,我们经常看到`synchronized`关键字的使用,没错,它的确能够使某个代码块或者方法变成线程安全同步的,但是,使用不当就会出现问题,下面是一段看似没有问题却存在线程安全的代码...

Kafka 与传统消息系统简单比较

####传统消息系统 1. 队列模型 2. 发布订阅模型 > 队列模型 一群消费者从服务器读取记录,每条记录只会分发给其中一个消费者。 方便水平扩展,负载均衡 > 发布订阅模型 记录会...

Spring boot 多个环境的配置文件

在实际的开发过程中,我们的项目一般会有 3 种不同的环境:测试环境、开发环境、生产环境。 Spring boot 方便地给我们提供了对多个不同环境配置的支持。 Spring boot 支持在启动...

Kotlin + SpringBoot 验证码实现

####前言 许久时间没有学习`Kotlin`了,单独的从基础语法学起,着实让人感到非常乏味,因此在学习一门新东西的时候我总是喜欢通过一些常用实践来进行跳跃式地学习:即要实现某个功能的时候,需要...