- 博客(20)
- 收藏
- 关注
原创 ElasticSearch与项目的整合使用
/示例@Data@Id@Mapper//插入数据@Override});log.debug("图书添加book到es中.......");
2024-07-09 13:51:22
765
原创 面试常问题(二)
redisson是一个具有诸多功能的开源中间件,可以利用redisson对线程进行加锁,解决高并发时的线程安全性mq:消息队列,也叫消息中间件,是一种进程的通信机制,用于上下游传递消息,主要用于各个系统之间通信的解耦。
2023-07-10 19:21:04
252
1
原创 限流的设计方案
令牌桶算法:使用一个固定容量的令牌桶来控制请求的流量。系统每秒产生一定数量的令牌,而请求需要消耗相应数量的令牌才能被处理。当令牌桶中的令牌数量不足时,新的请求将被拒绝或延迟处理。漏桶算法:使用一个固定容量的漏桶来控制请求的流量。系统以固定的速率处理请求,而请求需要先进入漏桶中,然后以固定的速率被漏出。当漏桶已满时,新的请求将被拒绝或延迟处理。计数器算法:使用一个计数器来记录请求的数量。每当有请求到达时,计数器加1。当计数器达到阈值时,新的请求将被拒绝或延迟处理。
2023-06-26 09:09:17
159
1
原创 Rabbimq的几种模式
工作队列,又称任务队列。队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key),消息的发送方在向Exchange发送消息时,也必须指定消息的routing key。X:Exchange(交换机),接收生产者的消息,然后把消息递交给 与routing key完全匹配的队列。C(consumer):消费者,消费和接收有类似的意思,消费者是一个主要用来等待接收消息的用户应用程序。P:生产者,向Exchange发送消息,发送消息时,会指定一个routing key。
2023-06-25 20:22:45
175
1
原创 JVM简单了解
JVM(Java虚拟机)的最大对象数量取决于多个因素,包括系统的物理内存大小、JVM的堆内存大小以及对象的大小。在理论上,JVM的堆内存可以设置为非常大,从而允许创建非常多的Java对象。然而,在实践中,由于系统资源的限制,JVM的堆内存大小通常会有一个合理的限制。总之,JVM最多能够创建的Java对象数量没有一个确定的值,它取决于多个因素,并且可能因系统配置和资源限制而有所不同。
2023-06-20 22:56:29
63
原创 JVM 四种创建对象
当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象,在反序列化时,JVM创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口,虽然该接口没有任何方法。Java 中常常进行 JSON 数据跟 Java 对象之间的转换,即序列化和反序列化。深拷贝会创造一个一摸一样的对象,新对象和原对象不共享内存,修改新对象不会改变原对对象。浅拷贝只复制某个对象的引用,而不复制对象本身,新旧对象还是共享同一块内存。浅拷贝与深拷贝的测试代码。
2023-06-20 22:48:46
60
原创 简单注册案例(用户权限验证)
分析:假设一个用户只有一个角色,但一个角色可以有多个用户,则用户与角色之间是多对一的关系一个角色可以有多个权限,一个权限可以有多个角色,角色与权限之间是多对多的关系综上:可以创建四张表,用户表、角色表、权限表以及角色和权限之间关系的中间表。
2023-06-19 20:05:16
172
原创 面试常问问题(一)
是指在某一个时间段,缓存集中过期失效。所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。解决方案:设置过期时间为随机,防止同一时间内所有key都过期,确保任何时候都有key存在。保证缓存层服务高可用性。对缓存系统做实时监控,报警。依赖隔离组件为后端限流并降级。做好持久化,以便数据的快速恢复。大量非法数据直接访问数据库,数据库压力过大导致崩溃解决方案:设置布隆过滤器。
2023-06-18 22:33:46
105
原创 Redis的数据过期策略
使用expire key seconds命令来设置数据的过期时间创建test测试key对test设置过期时间为60秒查看test还有多少剩余时间,如图所示还有55秒使用persist命令可以设置为永不过期,查看结果:-1表示永不过期,-2表示已过期。
2023-06-16 11:46:24
553
1
原创 Redis 、Mysql数据库区别
1、MySQL是关系型数据库;而Redis是非关系型数据库。2、MySQL用于持久化存储数据到硬盘,功能强大,但是速度缓慢;而Redis用于存储使用较为频繁的数据到缓存中,读取速度快。3、MySQL的数据存放在磁盘中;而Redis的数据存放在内存中。4、MySQL常用数据类型有数值、日期/时间、字符串;Redis常用数据类型有字符串、Hash、List、Set、Zset。5.redis能读的速度是110000次/s,写的速度是81000次/s。mysql的读写在5万次每秒,写可能会更慢一些。
2023-06-12 20:52:05
451
原创 Mysql的主从配置
将容器内配置文件的位置/etc/my.cnf,拷贝到centos下查看容器内的配置文件所在位置在/etc/localhost/software创建mysql文件,并在mysql下创建文件夹3306和3310,并在两个文件夹下创建conf和data文件夹,并将my.cnf文件拷贝到conf文件夹下先跳转到conf文件夹下,然后输入命令docker cp mysql_3306:/etc/my.cnf ./
2023-06-12 20:50:00
101
原创 SpringBoot缓存机制
Spring框架支持透明地向应用程序添加缓存对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法(包括增删查改等),从而减少操作数据的执行次数(主要是查询,直接从缓存中读取数据),同时不会对程序本身造成任何干扰。主要注解:@Cacheable@CachePut。
2023-06-10 11:57:53
567
原创 Linux常用命令
权限r,w,x分别表示可读,可写,可执行。-r:递归删除,可以删除子目录的文件,-f:强制删除(少用),rm -r *:删除当前目录下所有文件及目录。切换目录,输入cd /xxx/xxx 跳转到所输入的路径位置,cd .. 返回上一级目录,cd ~返回到当前用户的默认工作目录。创建文件夹,输入mkdir xxxx,创建一个名为xxxx的文件夹,mkdir -p xx/xx/xx,创建一个多级的文件夹。创建文件,输入touch xxx/xxx.xt,在xxx目录下创建一个名为xxx的txt文件。
2023-06-08 20:36:28
53
原创 Spring框架中含有的设计模式有哪些?
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。(菜鸟教程)简单来讲,就是有一个类的工厂,工厂里面专门生产类的方法,有了这个工厂后,我们就可以直接去工厂获取类,而不是自己创建。例子:(3条消息) Spring中常见的设计模式—工厂模式_spring工厂模式_守夜人爱吃兔子的博客-优快云博客单例模式(Sing
2023-06-07 20:32:08
727
1
原创 Java项目中的POJO/PO/VO/DTO/DO
是(普通java对象)的缩写,表示一个简单的java对象,只有属性字段及setter和getter方法。
2023-06-06 20:29:57
1098
1
原创 mybatisPlus使用步骤
点击运行(第5行绿色运行箭头),结果如下,结果中会呈现出执行的结果信息,执行的时间以及数据。测试service功能,按住alt+回车创建Test,测试代码如下。创建BookTypeServiceImpl实现接口。创建ResultCode枚举,存放运行的结构信息。创建HttpResp类,存放运行的结构信息。创建IBookTypeService接口。创建BookTypeController。按住alt+回车,选择创建Test。点击路径的小地球,选择第二个选项。先运行BookMallApp。
2023-06-06 20:27:27
232
1
原创 springboot构建项目
application-web.yml文件,设置端口号,数据库链接,以及账号密码,对mybatis进行配置,创建日志,设置别名以及所对应的xml文件位置。在service文件夹下创建impl文件夹,创建AnimalServiceImpl,对service层的接口进行实现。创建AnimalMappert,创建一个查询全部信息的接口。创建AnimalService,创建一个查询全部信息的接口。对maven进行配置,选择自己的apache路径。alt+回车,创建service的测试文件。不选择直接点击next。
2023-06-05 20:20:07
168
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人