- 博客(72)
- 收藏
- 关注
原创 处理接口幂等性
简单来说:任意次数请求 同一个资源,对资源的状态产生的影响和执行一次请求是相同的。幂等性可以处理一下问题MQ消息的重复消费问题网络延迟导致发了多个请求。
2024-11-07 13:19:54
447
1
原创 【Redis优化——如何优雅的设计key,优化BigKey,Pipeline批处理Key】
如果使用的时Redis6.0版本以上,Key的编码规则有三个,int, enbstr, raw 44字节内的Key会用int或身体乳mb编码,内存占用小。
2024-10-31 11:29:00
765
2
原创 RabbitMQ基本使用及企业开发中注意事项
队列读取消息时使用轮询机制,每个队列都读取相同的消息数量,这样不好,我们要针对队列处理消息的能力,需要在配置文件设置属性fetch。服务一旦挂了消息就都没有了,还有就是内存如果满了,会触发阻塞式的强制持久化操作,这会导致这段时间处理消息的能力为0。连接重试,注意这里是阻塞式的,意味着连接失败会一直重试其他业务不会执行,所以建议禁用此模式。1.引依赖和配置属性 - 版本选个差不多的 我是继承的springboot的。默认的消息转换器是直接将对象序列化为Byte[],即读不懂又不安全还占内存。
2024-04-08 17:49:43
1641
3
原创 [手撕数据结构]——堆总结
大顶堆和小顶堆,小顶堆就是每一个父节点都比他的子节点的值大,故,根节点最大嘛。计算子节点:左节点n * 2 + 1,右节点n * 2 + 2。二叉树 - 我使用数组模拟实现的二叉树。计算父节点:(n - 1) / 2。
2024-03-26 16:32:21
467
3
原创 [Redis]——主从同步原理(全量同步、增量同步)
Redis集群:部署多台Redis我们称之为Redis集群,他有一个主节点(负责写操作),多个从节点(负责读操作),它有高可用性、可扩展性、性能提升、自动分片以及无中心架构等优势。如果想让A成为B的从节点,使用命令我们在从节点使用slaveof masterIp masterport 或者 replicaof masterIp masterport主从同步原理:第一阶段:判断replid是否相同,如果不同,那么代表是第一次建立连接,这是做的操作是修改从节点的replid。
2024-03-14 15:12:40
1440
2
原创 [JVM] 双亲委派机制
我们知道JVM类加载器有三个,按优先级来说,启动类加载器 > 扩展类加载器 > 应用程序类加载器,每个类加载器加载不同的类。1.当加载一个类的时候,会自底向上查找类加载器是否加载过这个类,如果加载了直接返回结果,如果未加载,在自定向上加载该类。启动类加载器:加载rt.jar包下的类,例如String等核心类。防止Java核心类被篡改,防止类的重复加载。应用程序类加载器:加载我们自己写的类(classpath)。2.可防止类的重复加载和保证内置类的安全性。扩展类加载器:加载JVM的扩展类库(了解即可)
2024-03-12 10:44:43
502
2
原创 [Java基础]——类的生命周期
main为程序入口,所以先加载Test1字节码文件并初始化,打印D, 然后又打印A,然后new Test1()执行构造方法,而{}代码块内容编译后是在构造代码的第一行先执行的。3. 方法区生成一个InstanceKlass对象,保存类的信息,此外还会在堆中生成一个java.lang.class对象,我们使用的就是这个对象。2. 类加载器加载完类之后,字节码信息(基本信息、常量池、字段、方法、虚方法表)会保存在JVM的方法区中。②对于成员变量,编译看左边运行看左边,对于方法,编译看左边,运行看右边。
2024-03-11 22:41:35
473
2
原创 [Redis]——Spring整合Redis(SpringDataRedis)
在IDEA中连接Redis,springdataredis的配置和使用
2024-03-04 11:12:21
685
原创 [MySQL]事务原理之redo log,undo log
redo log保证了事物的持久性undo log保证了事务的原子性redo log + undo log保证了事务的一致性MVCC+锁保证了事务的隔离性(下一篇)
2023-12-13 15:39:39
4755
48
原创 [MySQL]SQL优化之sql语句优化
SQL查询优化在MySQL数据库中是提高性能的关键步骤之一。本文总结了一系列针对SQL查询的优化技巧,以帮助开发者改善查询性能,降低系统负载。
2023-12-12 16:53:26
1335
30
原创 [MySQL]SQL优化之索引的创建和使用规则
什么会导致索引失效?如果有两个索引,索引的使用是怎样的,如何保证使用唯一索引。什么是覆盖索引,如何保证覆盖索引。索引的创建和使用原则。
2023-12-11 21:27:29
1313
18
原创 【springboot原理篇】Bean的加载方式,面试必看
配置自己的或者第三方的bean:id:指定bean的名称 class指定bean的位置--声明自定义bean-->--声明第三方bean-->并不是你返回值是什么就创建什么bean,例如factorybean就是创建的它的泛型的bean。
2023-12-04 17:47:31
1000
34
原创 【spring(六)】WebSocket网络传输协议
WebSocket是Web服务器的一个组件,WebSocket是一种基于TCP的新的网络传输协议,它实现了浏览器与服务器全双工通信——浏览器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。深度理解:前端发送请求建立连接,服务器接收到连接请求,与前端建立连接(基于WebSocket),前端发送请求到服务器,服务器给出响应,连接不会关闭,如果前端再次发送请求,服务器正常处理,直到这次连接关闭。应用场景:例如 视频弹幕,网页聊天,浏览器的实时动态。
2023-12-02 11:32:03
4210
84
原创 【问题记录(已解决)】springboot整合ssm报错‘url‘ attribute is not specified and no embedded datasource
看黑马教程遇到以下问题。
2023-11-26 11:04:16
305
22
原创 【小技巧】复制一个模块到你的工程(学习阶段很实用)
当我们学习Springboot时,需要创建大量的模块,而这些模块的许多代码都是重复的,只有模块名等相关的信息不一样,现在就教你如何快速创建一个模块。注意:这个要复制的基础模块是你项目中代码重复率比较高的模块,我们以它作为模板,以后创建模块直接复制这个模板改个名就OK了。只不过删除的那一步不用做了,光修改artifactId的值就可以。修改模板里的pom.xml文件。只留src 和 pom.xml。复制你的模板文件夹并重命名。
2023-11-25 12:41:21
339
17
原创 【spring(五)】SpringMvc总结 SSM整合流程
控制层controller:@restcontroller = @controller + @responsebody。前面已经学了 Mybatis 、 Spring 和 SpringMVC 三个框架,现在要整合这三个框架,完成业务功能的简单开发。在springconfig配置文件上加入@ComponentScan({"包名1", "包名2",……持久层dao:@reposity。程序遇到异常会抛给他的调用者,就这样一层一层往上抛,如果不处理,最后会抛给jvm。②其他bean(第三方,自己写的……
2023-11-25 12:07:01
2269
81
原创 【spring(一)】核心容器总结
在Spring中,核心容器管理Spring中的对象,有了对象才能调用方法,实现业务。注入引用类型 name = "xxx" ref = "xxx"4.FactoryBean方式注入(重点)1.setter方法注入(重点)加载properties文件。class:bean的类型。①.setter方法注入。DI 注入bean对象。DI 注入bean对象。配置文件配置bean。id:bean的名称。管理第三方的bean。
2023-11-23 21:24:26
510
7
原创 [java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符
泛型提供了编译时类型检查,避免了在运行时出现类型转换错误。这确保了代码的类型安全性,并在编译时捕获错误。通配符可以使用上限和下限来限制泛型的范围。
2023-11-21 14:06:01
604
93
原创 【开发工具】gitee还不用会?我直接拿捏 >_>
从远程仓库拉取文件报错 fatal:refusing to merge unrelated histories,合并两个git仓库。提交代码到git仓库。注意:在使用git命令的时候一定要注意路径,在不同路径下执行相同命令结果也是不一样的例如创建和克隆仓库是在你当前路径下操作的。
2023-11-14 23:45:05
3352
92
原创 【java进阶】Java中线程的实现方式
线程的四种实现方式:1. 继承Thread类2. 实现Runnable接口3. 实现Collable接口4. 线程池获取线程。
2023-11-14 10:48:56
628
18
原创 【java进阶】集合的三种遍历(迭代器、增强for、Lambda)
🔥那我们平常用for循环依赖下标遍历不行嘛,这就与集合的分类有关了。collection是单列集合的顶层接口单列集合分为list和set类list集合特点:有索引、可重复、添加的元素是有序的set集合特点:无索引、不可重复、添加的元素是无序的list集合可以通过下标循环遍历,set集合就不行啦。
2023-11-11 23:42:30
2043
81
原创 [java进阶]——stream流你还不会用吗?超详细使用介绍
结合了Lambda表达式,简化集合,数组的操作,可以快速过滤,筛选等等。stream流中的map方法在以后学习中经常用到,很重要!!!
2023-11-10 23:15:33
729
69
空空如也
JUC 两阶段终止设计模式 打断问题
2024-10-11
springboot一片红
2024-08-15
牢牢们final修饰变量不可变的原理是啥
2024-06-11
Redis中list集合的存和取
2024-03-05
Centos7安装epel库遇到问题
2023-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人