- 博客(31)
- 收藏
- 关注
原创 学习八股的随机思考
使用工厂模式,我们只需要传入bean的名称,或者bean 的类型,只由工厂对外提供创建方法,扫描到bean的时候,调用工厂的创建方法即可。目的是以下几点:1、减少内存占用,每次都创建bean,占用过多不必要的资源 2、减少JVM的垃圾回收,在创建过的的bean的时候,此时内存会进行垃圾回收,影响系统效率。总体流程为 IOC容器启动--》创建beanFactory---》读取xml配置文件--》实例化bean---》属性注入--》初始化bean--》使用---》销毁。
2025-04-14 21:12:28
175
原创 MySQL部分总结
mysql学习笔记,如有不足还请指出,谢谢。外连接:左外、右外内连接:自己和自己连接全连接:左外连接+右外链接unique可以在数据库层面避免插入相同数据,但是使用INSERT ... ON DUPLICATE KEY UPDATE和INSERT IGNORE 依然可以无视插入相同数据报错从而插入数据int(1)和int(10) 只是表示显示int范围的宽度,但不改变占用的字节数插入1 ,int(1)显示1 int(10)显示0000000001varchar可变括号指定的是最大长度,表示字符个数, cha
2025-04-13 10:17:13
993
原创 Redis学习笔记及总结
官方推荐两个都启用。如果对数据不敏感,可以选单独用RDB。不建议单独用 AOF,因为可能会出现Bug。如果只是做纯内存缓存,可以都不用。RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。
2025-04-11 22:10:32
842
原创 滑动窗口2
带计数的滑动窗口,才开始用set,做不出来,原因在于出现了类似[1,1,1,2]的数据时候,由于set不可重复,出窗口时候会让set中清空了。这时候就应该用map,计数每个元素出现的次数,只有元素数==0时候才删除这个元素。
2025-03-19 18:59:52
183
原创 谷粒商城的一些学习笔记
当时关单逻辑: 首先生成订单-->用户点击支付后但没有第一时间支付,就设置15分钟自动关单逻辑--->在生成订单时候就把订单信息发到一个delay-queue设置消息过期时间为15分钟--->监听死信交换机绑定的死信队列-->死信队列收到消息后判断消息的支付状态,支付就自动过滤掉(布隆过滤器好像也可以用到,在支付回调函数中,把对应的订单号加到布隆过滤器中,然后死信队列中的布隆过滤器判断,直接过滤),没支付就关单。同时,若用户秒杀成功,便生成订单号,发送给MQ,让其异步处理订单。所以采用设置队列的TTL。
2025-03-18 11:02:32
429
原创 滑动窗口1
这里区分,入和出做的事情,"出滑动窗口后的记录值是多少":可以理解为,比如我们统计长度为k的子数组sum的值,找到最大sum的子数组,我们在进入一个数字改变sum后就要知道,当前是否窗口达到k即子数组长度是否为k,若为k就要更新当前sum是否比上一次的sum值大,更新完之后,我们就要出一个数,从而让在进入一个数后,数组长度为k做准备。呢么此时我们应该想到,枚举所有的情况,然后求解,而滑动窗口的意义就是优化这种枚举行为。入就是进入滑动窗口,更新就是进入滑动窗口后的答案是多少,出滑动窗口后的记录值是多少。
2025-03-18 11:00:19
244
原创 Spring-data-es
3、复合使用and 和 or 即content like and tags like and(content like or tags like)关系。6、 ElasticsearchRestTemplate的扩展性好,但是Easy-es更方便类似于mp的语法,但是聚合分析并不方便。在attrs进行聚合分析,首先对attrs_id 聚合即分组,然后在attrs_id中由attrs_id得到。4、聚合 最复杂的部分 但是用ElasticsearchRestTemplate 确实最方便的。
2025-03-09 11:12:48
162
原创 3218.切蛋糕的总开销
这个思路显然是一开始就错了,因为怎样切,这个思路就需要我们能记住没次切完后的形状,显然不可取,每次切完这么多形状无法表示。所以应该是从逆思路,从怎样切变为怎样合成一个m*n的矩阵,呢这样的话,可以不管合成什么样矩阵,我只知道,我添加一个1*1的格子,我只用决策min(水平合入,垂直合入)就可以了,找到最终的最小值即可。这个题一直想着,如何切,甚至想用一个list存每次切完后的形状,然后判断形状是怎样的,在去做这个形状的决策,但是写不下去,因为太麻烦,而且这样的代码显然是屎山代码。
2024-12-28 17:23:34
215
原创 3250. 单调数组对数目
来到i 位置,考虑在 i 位置 我的arr1[i]能填什么数字?即满足题目要求 arr1递增,只考虑arr1情况下就是满足。(本以为从前到后不好实现,但是在写这些时候发现可以实现,或者从后到前,都可以实现!这里 我们需要考虑arr1和arr2 但是题目条件,所以只考虑arr1就可以了。(详解看 @灵茶山艾府 中的思路讲解)遍历所有能填的数字情况,向下递归。
2024-11-30 20:16:44
229
原创 3258. 统计满足 K 约束的子字符串数量 I
今天的每日一题,标着简单标签,但是感觉并不简单啊,花了差不多1个多小时,快俩小时,交了6遍代码。。。。,从O(N*N)--->O(N),太拉了。。。哎。但是最起码相比以前有所长进,有收获,有进步,继续努力。
2024-11-12 21:16:23
167
原创 OJ系统,使用JSON文件批量导入测试用例的示例
做OJ系统,若在发布题目时,测试用例的input,output一条一条导入耗费时间大,效果不好。所以想用JSON文件一键导入,一下举出一个输入输出为List例子。
2024-11-02 10:59:27
424
原创 java设计模式
单例设计模式解决的问题:保证一个类在内存中的对象唯一性。比如:多程序读取一个配置文件时,建议配置文件封装成对象。会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的。Runtime()方法就是单例设计模式进行设计的。如何保证对象唯一性呢?思想:1,不让其他程序创建该类对象。2,在本类中创建一个本类对象。3,对外提供方法,让其他程序获取这个对象。步骤:1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有
2022-05-02 09:30:24
86
原创 汉诺塔实验理解代码
public class main { /*汉诺塔实验*/ public static void main(String[] args) { /*整体思路:递归好处体现出来 当有着要不断进行拆分判断过程时使用哦个 当n=1时此时说明时最上层的一个盘子也是最大的一个盘子所以直接将盘子从A移动到目标柱子B 而且当第一次n=1时移动的是n个盘子中最大的一个 若n !=1 此时要将n-1个盘子从当前所在柱子B 移动.
2022-05-02 09:29:14
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人