- 博客(14)
- 收藏
- 关注
原创 缓存击穿的逻辑解决方法
缓存击穿是指部分热点key缓存失效的情况,我的解决办法是给缓存加上逻辑上的过期时间,如果到了过期时间则第一个拿到锁的人就会进行缓存的重构,该过程是新开一个独立的线程进行操作,其他人则直接返回旧数据,并且默认情况下redis缓存中是有热点信息的,所以不需要进行非空的判断,我们加的锁是在redis中进行的唯一key会返回操作成功或者失败的原理进行操作的。
2024-10-22 15:38:09
134
原创 缓存穿透的redis解决方案,返回null值
缓存穿透和缓存击穿的区别是,缓存穿透是redis中和数据库中都差不到指定的信息,为了防止有人故意用不存在的id来攻击数据库,则在redis缓存中加入id:”null“值来进行回复,
2024-10-22 15:34:21
169
原创 在二叉树中找到两个节点的最近公共祖先
刚开始我的思路是用两个ArrayList集合去记录从根节点找到两个目标节点的路径,最终去遍历两个数组最后一个相交的节点就是他们的父节点,但是这个消耗内存很大,效率不是很高,我看到别人的另一种递归方法于是就学习。
2024-09-18 16:28:35
127
原创 怎么判断是否为平衡二叉树
需要记住的是,求高度是由树的下到上,进行计算,所以需要先得知左右子树的高度,如果计算深度是要从根节点到最近的一个叶子结点,也可以进行后续排序,但是要注意,避免深度为假1的情况根节点(左子树或者右子树为空,但不全为空,如果按照高度方式进行计算会导致深度为1),所以在计算深度的时候要判断一下左子树或者右子树为空,然后使用 rootVal = 1+ left 或者 rootVal = 1 + right;判断一个平衡二叉树需要计算它的最大高度和最小高度,此类问题需要用二叉树的后续遍历。
2024-09-11 17:25:48
227
原创 剑指offerJZ27二叉树的镜像
我们就可以用递归这个思想,把解决8为根节点的大二叉树转换为解决6为根节点的二叉树或者是以10为根节点的二叉树即可。作为一个新入门的coder,我在解决这个题目的时候,先将大问题拆成小问题,大树拆成小树,
2024-09-09 18:06:13
125
原创 关于反射拿不到方法的愿意之一
没有注意到写方法的参数导致找不到方法。当我在做黑马的苍穹外卖的项目时遇到一个问题,就是在进行公共代码自动填写的时候用了aop技术 需要获取对象的方法时候。----后来查阅资料才知道要填写方法参数的类型。这样就可以成功获取到对象的方法。----我刚开始进行反射。
2024-05-04 23:52:16
188
原创 Abnormal build process termination: D:\ok123\bin\java.exe -Xmx700m -Djava.awt.headless=true “-Djna。
在我把当地的idea删除并且更换版本更高的idea的时候 老项目启动时会出现如下报错,只要把target删除并且重新运行即可。
2023-12-11 00:22:02
281
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人