- 博客(64)
- 收藏
- 关注
原创 设计模式-建造者模式
每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到不同的产品对象。建造者模式所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间的差异性很大,例如很多组成部分都不相同,不适合使用建造者模式,因此其使用范围受到一定的限制。在建造者模式中,客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。隔离复杂对象的创建和使用,并使得相同的创建过程可以创建不同的产品。
2024-02-21 17:34:31 851
原创 设计模式-工厂方法模式
简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。工厂方法模式,定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2024-02-21 14:56:59 642
原创 设计模式-代理模式
Console.WriteLine("真实的请求");1.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在不同地址空间的事实。2.虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。3.安全代理,用来控制真实对象访问时的权限。4.智能指引,是指当调用真实的对象时,代理处理另外一些事。代理模式其实就是在访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途!!!
2024-02-21 14:27:02 572
原创 设计模式-装饰模式
装饰模式是为已有功能动态地添加更多功能地一种方式。使用场景:当系统需要新功能的时候,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要行为。优点:把类中的装饰功能从类中搬移去除,这样可以简化原有的类。有效地把类的核心职责和装饰功能区分开了。而且可以去除相关类中重复的装饰逻辑。
2024-02-21 13:35:26 485
原创 设计模式-策略模式
/简单工厂模式的用法//策略模式与简单工厂结合的用法...=csuper简单工厂模式需要让客户端认识两个类,CashSuper和CashFactory,而策略模式与简单工厂结合的用法,客户端只需要认识一个类CashContext就可以,耦合更加降低!
2024-02-21 11:24:50 909
原创 使用Docker部署springboot-vue项目
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组(官方文档)表示将 docker里面mysql容器的**/var/log/mysql**目录挂载到宿主linux系统的。使用以下命令来设置稳定的仓库。验证docker是否安装成功。
2024-01-30 14:30:17 188
原创 在WebSocket中使用Redis出现空指针异常解决方案
而WebSocket在刚刚有说到,有连接时才实例化对象,而且有多个连接就有多个对象。不管单独使用也好,结合spring也好,或者结合SpringBoot也罢,他都是多对象的。原因是WebSocket是线程安全的,有用户连接时就会创建一个新的端点实例,一个端WebSocket是多对象的,使用的spring却是单例模式。@Autowired注解注入对象是在启动的时候就把对象注入,而不是在使用A对象时才把A需要的B对象注入到A中。初次遇到这个问题,我还以为是字符串类型错误,改了两个小时才发现问题所在!
2024-01-28 18:01:20 785 2
原创 Springboot 使用Redis中ZSetOperations实现博客访问量功能
如果要效率提高,必须得牺牲空间,本操作还可以进一步优化!比如把blog全部存到Redis,再找前TopK时候就不用去根据blog ID去mysql数据库搜索,直接可以输出了但是如果博客过多的话 占用Redis内存太大。
2024-01-25 18:09:52 643 1
原创 Redis的五种常用数据类型
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型普通字符串,Redis中最简单的数据类型也叫散列,类似于java中的HashMap结构无序集合,没有重复元素,类似于java中的HashSet集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素(可作投票排行榜) (每个博客 可以采用 blog_id,readCount)
2024-01-25 18:09:22 1100
原创 ssh: connect to host github.com port 22: Connection timed out
ssh: connect to host github.com port 22: Connection timed out
2024-01-22 16:07:46 617
原创 力扣热题100道-矩阵篇
* 旋转图像,这意味着你需要直接修改输入的二维矩阵。请你将图像顺时针旋转 90 度。,则将其所在行和列的所有元素都设为。使用另一个矩阵来旋转图像。的矩阵,如果一个元素为。,返回矩阵中的所有元素。编写一个高效的算法来搜索。
2024-01-03 12:40:16 603
原创 力扣热题100道-普通数组篇
请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。之中任意元素的全部前缀元素和后缀的乘积都在。表示若干个区间的集合,其中单个区间为。,请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。请你合并所有重叠的区间,并返回。请 **不要使用除法,**且在。是数组中的一个连续部分。,将数组中的元素向右轮转。给你一个未排序的整数数组。时间复杂度内完成此题。之外其余各元素的乘积。请你实现时间复杂度为。
2023-12-29 14:40:08 1011
原创 力扣热题100道-子串篇
的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口每次只向右移动一位。子数组是数组中元素的连续非空序列。所有字符的子串,则返回空字符串。所有字符的最小子串。
2023-12-28 22:53:13 531
原创 力扣热题100道-滑动窗口篇
的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。,请你找出其中不含有重复字符的。
2023-12-27 20:11:21 463
原创 力扣热题100道-双指针篇
的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。个非负整数表示每个宽度为。,判断是否存在三元组。,编写一个函数将所有。
2023-12-27 17:49:36 665
原创 力扣热题100道-哈希篇
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。整数,并返回它们的数组下标。给你一个字符串数组,请你将。请你设计并实现时间复杂度为。你可以按任意顺序返回答案。给定一个未排序的整数数组。,请你在该数组中找出。
2023-12-27 15:24:12 519
原创 LC 394
编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。给定一个经过编码的字符串,返回它解码后的字符串。
2023-06-02 15:38:43 161
原创 Linux服务器或虚拟机部署springboot+vue项目
参考文章:https://blog.csdn.net/weixin_36754290/article/details/126541006。参考文章:https://blog.csdn.net/u013488276/article/details/127125616。切换目录到nginx下。
2023-03-16 23:53:42 1180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人