• 滑动窗口||前缀和+二分查找 解决LeetCode209.长度最小的子数组

    LeetCode.209.长度最小的子数组给定一个含有n个正整数的数组和一个正整数target。 找出该数组中满足其总和大于等于target的长度最小的**子数组[numsl, numsl+1, …, numsr-1, numsr],并返回其长度。*...
  • MVCC的实现原理

    MVCC的提出 MVCC,全称Multi-Version Concurrency Control,多版本并发控制。 高并发环境下,如果我们想保证并发安全, 那么最简单的就是加锁,线程排队一个一个去执行自己的事务。但这样会导致性能大幅降低,无法满足...
  • LeetCode146.LRU缓存

    题目链接146.LRU缓存请你设计并实现一个满足LRU (最近最少使用) 缓存约束的数据结构。 实现LRUCache类: LRUCache(int capacity)以正整数作为容量capacity初始化 LRU 缓存 int get(int k...
  • Caffeine+Redis二级缓存架构+Kafka异步删除缓存简单实战

    前言 二级缓存架构是用空间和复杂度换取极致的性能,下面是两种方案的对比: 由图可以看出,二级缓存架构在网络开销, 访问速度上更具优势,但在部署难度和运维成本上更高。 二级缓存架构还有一个不得不面临的问题,在分布式环境下如何保证各个服务器之间的缓存...
  • Java后端知识树

    Java后端工程师│├── Java基础│├── 并发编程│├── JVM│├── Spring生态│├── 数据库│├── 缓存│├── 消息队列│├── 微服务│└── 工程能力 Java基础Java基础│├── 基础语法│ ├─ 面向对象...
  • 缓存空值和布隆过滤器解决缓存穿透

    缓存穿透缓存穿透是用户请求不存在的数据,导致数据库压力增大的行为。当用户发送请求时,由于请求的数据不存在于缓存,也不存在于数据库,但是这个请求还是会访问到数据库。如果短时间内大量这种请求发送过来,会导致数据库宕机。 解决方案1.缓存空值(缓存null...
  • 集合框架:Java里的Collection和Map

    集合框架 Java集合框架(Java Collection Framework,JCF) 是一套用于存储和操作一组对象的统一容器体系 两个体系: Collection(单列集合) Map(双列集合) 往下细分,Collection有List和S...
/2