简单的 LRU Cache 设计与实现

介绍LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:public cl...

阅读全文



SpringBoot 整合 RabbitMQ 实现延时队列

什么是延时队列,延时队列应用于什么场景?延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。那么,为什么需要延迟消费呢?我们来看以下的场景网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝、去哪儿网)系统创...

阅读全文



Java 程序员必备的一些流程图

前言:整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习。1.spring的生命周期Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要; title=首先容器启动后,对bean进行初始化按照b...

阅读全文



Windows10 开启 Linux 子系统

Windows Subsystem for Linux(WSL)是一个可以直接执行Linux二进制可执行文件(ELF)的兼容层。和 Hyper-v 虚拟化不同,WSL 是底层把 Linux 系统调用翻译成 Native Windows API。例如安装 ...

阅读全文



事务的四种隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们...

阅读全文