- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Spring Boot + Disruptor = 王炸!!
其实 生成者 -> 消费者 模式是很常见的,通过一些消息队列也可以轻松做到上述的效果。不同的地方在于,Disruptor 是在内存中以队列的方式去实现的,而且是无锁的。这也是 Disruptor 为什么高效的原因。
2023-01-26 19:43:20 529
原创 Spring Boot + Redis 实现分布式锁,还有谁不会??
对于耗时业务和核心数据,不能让重复的请求同时操作数据,避免数据的不正确,所以要使用分布式锁来对它们进行保护。新建注解 @interface,在注解里设定入参标志增加 AOP 切点,扫描特定注解建立 @Aspect 切面任务,注册 bean 和拦截特定方法特定方法参数 ProceedingJoinPoint,对方法 pjp.proceed() 前后进行拦截切点前进行加锁,任务执行后进行删除 key。
2022-09-05 21:30:50 139
原创 什么是语法糖?Java中有哪些语法糖?
前面介绍了12种Java中常用的语法糖。所谓语法糖就是提供给开发人员便于开发的一种语法而已。但是这种语法只有开发人员认识。要想被执行,需要进行解糖,即转成JVM认识的语法。当我们把语法糖解糖之后,你就会发现其实我们日常使用的这些方便的语法,其实都是一些其他更简单的语法构成的。有了这些语法糖,我们在日常开发的时候可以大大提升效率,但是同时也要避免过渡使用。使用之前最好了解下原理,避免掉坑。
2022-08-21 19:38:29 1184
原创 红黑树的了解(平衡树,二叉搜索树)
缺点:Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.其基本性质可以归纳为:trie树的优点:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。B+树是B树的一个升级版,B+树是B树的变种树,有n棵子树的节点中含有n个关键字,每个关键字不保存数据,只用来索引,数据都保存在叶子节点。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。
2022-08-19 17:15:28 438
原创 Redis 6种淘汰机制
如果不设置最大内存大小或者设置最大内存大小为0,在64位操作系统下不限制内存大小,在32位操作系统下最多使用3GB内存。32位的机器最大只支持4GB的内存,而系统本身就需要一定的内存资源来支持运行,所以32位机器限制最大3GB的可用内存。在设置了过期时间的key中,淘汰过期时间剩余最短的当使用volatile-lru、volatile-random、volatile-ttl这三种策略时,如果没有key可以被淘汰,则和noeviction一样返回错误。从设置了过期时间的key中随机淘汰。...
2022-07-25 11:21:35 1419
原创 数据库锁,死锁,解决高并发面试题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、锁是什么?二、数据库锁数据的锁分为三种:三、什么是死锁?四、Mysql解决并发总结前言面试提示:以下是本篇文章正文内容,下面案例可供参考一、锁是什么?将某种资源私有化的一种物品,没错java里面的锁也是这种特性,它可以让某个方法,某个变量或某个通道,在某个时刻下只能被一个线程占用。只有当这个锁释放了,另外的线程才可以使用。例子:上厕所,一个同事上厕所把门锁上,这个时候厕所就被上锁了,别人要想进去,只能等这位.
2022-04-28 17:09:45 849
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人