摘要: 一、最新的项目中什么场景使用了redis? 1、海尔的订单中心中,创单接口使用redis缓存订单数据,优惠券授权使用redis缓存授权用户与订单的关联信息。 2、京东的会员通项目中,使用Redisson分布式锁锁住活动数量防止超卖。 阅读全文
posted @ 2023-06-28 17:56 翊梦 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一、作用 布隆过滤器(BloomFilter)可以用于检索一个元素是否存在于一个集合中。 二、底层数据结构 bitmap(位图):相当于是一个以bit位为单位的数组,数组中每个单元只能存储二进制数0或1。 存储数据:通过多个hash函数,根据hash计算数组对应的位置改为1。 查询数据:使用相同ha 阅读全文
posted @ 2023-06-28 17:11 翊梦 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Filter > Interceptor > Aop 如果Intercepor返回false,则AOP不会被执行。 一、Filter 阅读全文
posted @ 2023-06-27 16:38 翊梦 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 一、应用层面 读写分离、缓存、ES、线程池、多线程、队列、集群、令牌、系统拆分、隔离、系统升级(可水平扩容方向)、限流、页面静态化。 1、页面静态化 通过Freemarker对页面进行静态化,减少用户与服务器端的交互。 二、时间换空间 降低单次请求时间,这样在单位时间内系统并发就会提升。 三、空间换 阅读全文
posted @ 2023-06-26 20:52 翊梦 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 一、问题背景 在mysql中用自增列作为主键时,先往表里插入5条数据,此时表里数据id为1、2、3、4、5,如果此时删除id=4、5的数据后,再重启数据库,重启成功后向表里插入数据的时候,innodb、myisam引擎下ID分别是从几开始增加? 二、使用InnoDB引擎 在mysql 8.0版本之前 阅读全文
posted @ 2023-06-26 18:11 翊梦 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 一、悲观锁 二、乐观锁 三、唯一索引 四、token+redis 1、前端第一次请求时,服务端生成一个token,放到redis中,设置过期时间,并把token返回给前端。 2、前端将token放到header中。以后请求的时候,把token带到服务端。 3、服务端判断token是否已经存在。如果已 阅读全文
posted @ 2023-06-26 17:45 翊梦 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 一、Redisson分布式锁的加锁机制? 为什么需要分布式锁?有哪些应用场景? 在分布式 分布式锁的加锁机制?以tryLock为例 (1) tryAcquire 尝试获取锁。 首先通过tryAcquire方法尝试获取锁,如果获取锁成功,返回ttl为null,如果获取锁失败,返回已经被持有锁的ttl。 阅读全文
posted @ 2023-06-20 16:48 翊梦 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要进行垃圾回收? 因为内存的容量是有限的。 二、如果判断一个对象需要回收? 1、引用计数算法:给每个对象中加一个引用计数器。每增加一个引用,计数器就+1。当计数器为0时,代表没有引用。因为有循环引用的存在,所以java虚拟机不再使用引用计数算法。 2、可达性分析算法:通过GC Roots作 阅读全文
posted @ 2023-06-13 14:25 翊梦 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 一、SpringCloudAlibaba功能组件? Sentinel:流量控制,熔断降级,系统负载保护等方面。 Nacos:注册中心,配置管理中心。 RocketMq:分布式消息系统。 Dubbo:java 的 RPC框架。 Seata:分布式事务解决方案。 Alibaba Cloud OSS:阿里 阅读全文
posted @ 2023-06-13 09:47 翊梦 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 一、线程和进程的区别 一个线程只能归属于一个进程; 一个进程至少拥有一个线程。 二、线程池工作流程 创建一个线程池,核心线程数为2,最大线程数为5,非核心线程的空闲等待时间是10s, 等待队列使用ArrayBlockingQueue,饱和策略是AbortPolicy。 public ThreadPo 阅读全文
posted @ 2023-05-31 17:54 翊梦 阅读(380) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示