- 博客(79)
- 收藏
- 关注
原创 [Redis] Redis事务
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)🎃Redis(97平均质量分)🐰RabbitMQ(97平均质量分)
2024-11-02 22:43:04 680 12
原创 [Redis] Redis数据持久化
我们之前在学习MySQL数据库的时候,我们学习过MySQL事务的四个比较核心的特性:分别是原子性(把对多个表的操作打包为一个操作),一致性(事务前后的数据都是合法数据,比如同一个操作中同时减少和增加一个值,要不同时成功,要不同时失败,不能出现中间状态),持久性(把数据存储在硬盘上),隔离性(脏读,不可重复读,幻读,串行化).
2024-10-26 00:02:08 1765 23
原创 [RabbitMQ] Spring Boot整合RabbitMQ
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)🎃Redis(97平均质量分)🐰RabbitMQ(97平均质量分)
2024-10-03 14:07:15 2701 36
原创 [RabbitMQ] 7种工作模式详细介绍
P: producer生产者,也就是要发送消息的程序.C: consumer消费者,消息的接收者.Queue: 消息队列,其中可以缓存信息,生产者可以向其中投递信息,消费者从其中获取信息.特点: 一个生产者,一个消费者,一个消息只能被消费一次,也称为点对点模式作为消息中间件,都会面临丢失的问题.生产者问题.因为应用程序故障,网络都用等原因,生产者没有成功向Broker发送消息.消息中间件自身问题,生产者成功发送给了Broker,但是Broker没有吧消息保存好,导致了信息丢失.
2024-09-29 23:54:06 2790 33
原创 [RabbitMQ] RabbitMQ介绍,安装与快速上手
首先,我们要知道一下什么是RabbitMQ.其中,MQ是MessageQueue的缩写,也就是消息队列的缩写,顾名思义,消息队列就是一个队列,有关队列的知识我们在之前数据结构的部分学习过,他的特点就是先入先出,只不过现在队列中放入的是消息而已,消息可以非常简单,比如只包含字符串,也可以很复杂,比如内嵌对象.MQ通常用于分布式系统之间的通信.同步通信直接调用对方的服务,数据从一端发出之后就立即传递到另一端.异步通信。
2024-09-25 22:50:30 1398 27
原创 [Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
我们在之前学习过一个指令,叫做keys *,这个指令就是把Redis中所有的key采用遍历的方式全部都获取到.但是这个操作比较危险,可能在Redis中存储的key比较多,可能会阻塞Redis,影响其他指令的执行这时候我们就需要使用Redis中的渐进式遍历指令,scan指令.通过渐进式遍历,既可以获取到所有的key,同时又不会卡死服务器.这个命令,不是把所有的key一次性都拿到,而是每次执行命令,只获取其中的一小部分,如果key比较多的话,就需要多次执行scan命令,进行多次渐进式遍历.
2024-09-22 21:47:03 1562 32
原创 [Redis] Redis中的set和zset类型
我们在之前java的集合类中就曾经接触过set.在Java的集合框架中,set的实现方式可以是HashSet,也可以是TreeSet.在Redis的集合中,就是把一些有关联的数据放在一起,其中保存的是多个字符串类型的元素.和Java中的set一样,set中的元素也是无序的,而且不允许重复.这里的限制条件完全和list相对,list中的元素可以重复,而且是有序的.Redis中的set还支持求交集,并集,差集。
2024-09-17 19:49:42 1091 33
原创 [Redis] Redis中的Hash类型和List类型
提到list我们会想到java中的List集合,这样的List就相当于数组或者是顺序表.但是Redis中的List并非是一个简单的数组,更接近于双端队列(deque).因为Redis中的list支持头插,头删,尾插,尾删,还可以获取指定范围之内的元素和指定下表的元素(和python一样,支持负数下标).它可以充当栈和队列的角色.在实际开发中的应用场景非常广泛.阻塞指的就是: 当前线程的代码不会继续执行,会在满足一定条件之后唤醒.
2024-09-13 20:10:47 1344 32
原创 [Redis] Redis中的String类型
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)🎃Redis(96平均质量分)
2024-09-09 23:32:28 1160 4
原创 [Redis] Redis基本命令与数据类型+单线程模型
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)🎃Redis(96平均质量分)
2024-09-08 21:50:31 1524 23
原创 [Redis] 分布式系统与Redis介绍
Redis是一个可以在缓存中存储数据的中间件,一般可以用作数据库和数据缓存,它可以在分布式系统中大展手脚。
2024-09-07 00:01:50 1606 33
原创 [Java基本语法] String类
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)
2024-08-27 22:09:56 903 3
原创 [Spring] Spring原理(SpringBoot完结)
SpringBoot自动装配原理大致如下:当Spring项目启动的时候,就会自动把这些配置文件中的配置类通过@Import注解全部加载到SpringIoC容器中.
2024-08-22 14:54:21 1458 44
原创 [Spring] Spring事务与事务的传播
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)
2024-08-13 18:02:45 2023 46
原创 [Spring] Spring AOP
什么是AOP?所谓AOP,就是面相切面的编程.什么是面向切面的编程呢,切面就是指定某一类特定的问题,所以,面向切面的编程就是正对于同一类问题进行编程简单来说,就是针对某一类事情的集中处理什么是Spring AOP?AOP是一种思想,实现AOP的方法有很多,有Spring AOP,有AspectJ,有CGLIB等.Spring AOP是其中的一种实现方式.
2024-08-08 20:33:40 2257 53
原创 [Spring] SpringBoot统一功能处理与图书管理系统
适配器模式,也叫包装器模式,是将一个类的接口,转换为客户期望的接口,适配器让原本不兼容的类之间可以合作.比如下面两个接口,本身就是不兼容的(比如参数类型不一样,参数个数不一样等等)但是我们可以通过适配器使其兼容.在我们日常生活中,适配器的例子也非常常见.比如转换插头:这是我们出国旅行前必备的一个装备.适配器模式的角色:• Target:目标接口(可以是抽象类或接口),客户希望直接用的接口• Adaptee:适配者,但是与Target不兼容。
2024-08-03 18:15:46 1539 43
原创 [Spring] MyBatis操作数据库(进阶)
🏵️热门专栏:🧊 Java基本语法(97平均质量分)🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)🍃 Spring(97平均质量分)
2024-07-29 22:13:35 979 3
原创 [Spring] MyBatis操作数据库(基础)
在前面,我们学习过JDBC编程对数据库的操作,不过JDBC对于数据库的操作在步骤上过于麻烦,所以我们在Spring中引入了MyBatis.MyBatis是一款优秀的持久层框架,用于简化JDBC的开发那么持久层是什么意思呢?持久层指的就是持久化操作的层,通常指的是数据库的访问层,通常用来操作数据库简单来说MyBatis是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库工具.
2024-07-25 23:30:46 1543 48
原创 [Spring] Spring日志
SLF4J就是其他日志框架的门面.SLF4J可以理解为是提供日志服务的统⼀API接口,并不涉及到具体的日志逻辑实现不引入日志门面假如一个项目你已经依赖了log4j日志框架,假如你依赖的另一个类库假如是Apache Active MQ,它依赖的日志框架是logback日志框架,那么你需要把logback也导入进去.存在的问题:不同日志框架的API接口和配置文件不同,如果多个日志框架共存,那么不得不维护多套配置文件(这个配置文件是指用户自定义的配置文件).如果要更换日志框架,
2024-07-23 16:40:25 1047 11
原创 [Spring] Spring IoC与DI注入
容器是用来容纳某种物品的(基本)装置.想我们生活中的水杯,垃圾桶等都是容器.那么我们想一想,我们之前的学习中,都有学习过哪些容器.List/Map -> 数据存储容器.Tomcat -> Web容器IoC其实我们在之前学习Spring的阶段就使用过.在类上面添加和注解,就是在Spring中创建出一个类的对象,并把这个对象交给Spring管理,Spring框架启动时就会加载该类.把对象交给Spring管理,就是IoC思想.这个交给Spring管理的对象我们统称为Bean。
2024-07-19 17:30:32 1633 46
原创 [Spring] Spring Web MVC案例实战
需求:输入两个整数,点击"点击相加"按钮,显示计算结果.这是Web开发中的关键一环.接口又叫API,我们一般讲到的API或者接口,指的都是同一个东西.如今我们的开发一般采用前后端分离的方式,所以我们在开发之前,前端开发人员和后端开发人员会约定好前后端交互的方式.我们一般会把约定的内容写在文档上,就是"接口文档".接口文档可以理解为是应用程序中的"操作说明书".在项目开发之前.我们需要先更具需求拟写接口文档,前后端必须都准寻接口文档中的标准.**接口文档通常由服务提供方来写,有服务使用方确认,也就是客户端.
2024-07-16 22:01:15 3634 42
原创 [算法] 优选算法(三):二分查找
OJ链接题目描述给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]
2024-07-15 19:27:04 1101 38
原创 [Spring] Spring Web MVC基础理论
Spring Web MVC是基于Servlet API构建的原始Web框架,从⼀开始就包在Spring框架中。它的正式名称“Spring Web MVC”来自其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC".总结来说,Spring Web MVC是一个Web框架.想要理解什么是Spring MVC我们首先先要理解什么是MVCMVC是Model View Controller的缩写,是软件工程中共的一种软件架构的设计模式.把软件系统分为模型,控制器,视图三个部分。
2024-07-12 23:10:02 4749 42
原创 [Spring] SpringBoot基本配置与快速上手
Maven是一个项目管理工具.Maven可以通过一小段描述信息来管理项目构建,报告和文档的项目管理工具软件.比如在我们前期学习mysql的时候,我们要想通过idea实现jdbc编程,我们就必须去中央仓库中下载mysql与idea的连接驱动程序,这样才可以通过mysql提供的API接入idea的jdbcAPI以便操作数据库.这个文件的格式是.jar文件的格式,但是我们现在有了Maven,我们就没有必要在去中央仓库去下载这个.jar文件了,我们可以直接在pom.xml文件中配置获取jar包,而不是手动添加。
2024-07-09 13:52:02 2084 44
原创 [Java基本语法] 逻辑控制与方法
方法就是一个代码片段. 类似于 C 语言中的 “函数”.是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置使用.让代码更好理解更简单.直接调用现有方法开发, 不必重复造轮子.语法格式修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];示例:判断一个年份是否是闰年// 方法定义}else{[注意事项]修饰符:现阶段直接使用public static 固定搭配。
2024-06-15 02:00:00 1396 36
原创 [Java基本语法] 类与对象
1 基本规则在文件的最上方加上一个package语句来指定该代码在哪个包中包名需要尽量指定为唯一的名字包名和代码路径相匹配,例如创建com.by.demo1的包,对应的路径为com/by/demo1若一个类没有package语句,则会被放到idea默认的src包下2 操作步骤在idea中新建一个包,如图所示在弹窗中命名包名在包中创建类我们看到类已经被创建了,包含了package语句,路径也是对应的。
2024-06-15 02:00:00 643 11
原创 [Java基本语法] 继承与多态
🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)
2024-06-15 02:00:00 1350 3
原创 [Java基本语法] 数组及其应用
数组,可以看做是相同类型元素的集合。在内存中是一段连续的空间,就好像车库一样,有一块一块的空间,在这个空间中都停着同一类事物——汽车。数组存放的元素其类型相同数组的空间是连续的每个空间都有自己的编号,起始位置的编号为0。
2024-06-15 02:00:00 1662 4
原创 [Java基本语法] 抽象类与接口
Object类是Java默认提供的一个类,在Java里面除了Object类,与所有的类都存在继承关系,他们都会默认继承Object类即所有的对象都可以用Object类来接收,它可以向上转所有类型的对象问题:如果所有类的默认继承了Object类,那么一个类在手动继承了一个类,就相当于继承了两个类,那么为什么不报错呢其实并不是这样的原理,是手动继承的父类已经继承了Object类,子类再去手动继承父类就相当于多层继承,这种继承方式是允许的。
2024-06-15 02:00:00 1021 3
原创 [Java基本语法] String类
🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)🧀线程与网络(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)
2024-06-15 02:00:00 943 2
原创 [Java基本语法] 异常
程序先执行 try 中的代码如果 try 中的代码出现异常, 就会结束 try 中的代码, 看和 catch 中的异常类型是否匹配.如果找到匹配的异常类型, 就会执行 catch 中的代码如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者.无论是否找到匹配的异常类型, finally 中的代码都会被执行到(在该方法结束之前执行).如果上层调用者也没有处理的了异常, 就继续向上传递.
2024-06-15 02:00:00 1199 2
原创 [Java基本语法] 从0到1带你精通Java基本语法
安装地址: https://www.jetbrains.com/zh-cn/idea/安装社区版本即可,建议安装2021.3的版本,以便我们后面学习Spring时使用.可参考视频: https://www.bilibili.com/video/BV1N54y1U7AA/?spm_id_from=333.999.0.0&vd_source=f2e28dfb590b0d28f1fc01e22608db8d在我们的idea中中写main方法的时候,只需要写一个main,会出来一个提示,之后一敲回车就自动帮你
2024-06-12 18:42:08 1123 45
原创 [线程与网络] Java虚拟机常考面试题(线程与网络完结)
在上述三部中,“加载"的过程中.会根据代码中"全限定类名”(包名+类名)找到对应的.class文件.在JVM加载.class文件,并找到.class文件的时候,就要用到双亲委派模型.在JVM中包含这样一个特定的模块,叫做"类加载器",这个类负责完成后续的类加载工作.如果⼀个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每⼀个层次的类加载器都是如此.这是Java提供的对于内存自动回收的机制.更本质地来说,GC其实回收的是"对象",回收的是"
2024-06-09 17:35:17 1111 41
原创 [线程与网络] 网络编程与通信原理(六):深入理解应用层http与https协议(网络编程与通信原理完结)
HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议.URL基本格式平时我们俗称的"网址"其实就是说的URL统一资源定位符).下面我们来拿一个具体的URL来解释URL都有哪些部分构成.协议方案名,常见的有https与http.描述的是接下来URL要干什么.当然也有其他的类型.(例如我们在之前JDBC编程的时候,使用的是jdbc:mysql)登录信息,现在的网站一般会通过登录页面来验证,一般不通过URL的方式,这个部分经常省略服务器IP地址,也叫"域名"用来确定访问的主机。
2024-06-08 01:08:56 3827 51
原创 [线程与网络] 网络编程与通信原理(五): 深入理解网络层IP协议与数据链路层以太网协议
🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)🧀Java EE(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)
2024-06-03 21:07:39 1808 52
原创 [线程与网络] 网络编程与通信原理(四):深入理解传输层UDP与TCP协议
🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)🧀Java EE(95平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)
2024-06-01 00:07:00 3362 48
原创 [线程与网络] 网络编程与通信原理(三):网络编程Socket套接字(TCP协议)
本类是创建在服务器端的Socket的API.构造方法:方法签名方法说明创建⼀个服务端流套接字Socket,并绑定到指定端⼝常用成员方法方法签名方法说明开始接听指定端⼝(创建时绑定的端⼝),有客户端连接后,返回⼀个服务端Socket对象,并基于该Socket建立与客户端的连接,否则阻塞等待(没有客户端与之进行连接),注意这里返回的数据类型是Socket类型关闭此套接字举例说明:买房。
2024-05-27 19:21:22 1222 39
原创 [算法] 优选算法(二):滑动窗口
所谓滑动窗口,也叫通向双指针,就是在我们上一个板块双指针的基础上,把双指针的"点"变换成"线",双指针表示两个点,而滑动窗口则是由双指针的两个"点"构成"线",表示一个区间指定left=0和right=0两个左右指针.让右指针右移,进入窗口.让左指针右移,出窗口.更新结果,结果在哪一步更新不确定,需要具体问题具体分析。
2024-05-27 16:01:11 1212 31
windows10画图板
2024-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人