- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 Go语言入门-HelloWorld到变量常量及常用数据类型、输入输出、运算符、特殊字符
GO入门,从Helloworld到变量的定义、常量定义、常用数据类型、数据类型之间的转换、从控制台输入输出、常用运算符、特殊字符
2023-10-30 20:22:58
223
原创 SpringBoot、SpringCloud、SpringCloudAlibaba的版本选择
SpringBoot、SpringCloud、SpringCloudAlibaba、JDK之间的版本兼容关系,根据官方文档以及网上资料进行整理
2023-08-25 14:45:35
1520
原创 Redis入门常用命令
Redis是一个基于内存的键值型非关系型数据库(NoSQL)如果数据涉及安全问题,那么选择SQL进行存储,SQL满足ACID特性。Redis入门命令,常用数据结构命令
2023-07-11 11:56:49
45
原创 RabbitMQ高级特性
在使用RabbitMQ的时候,为了防止消息丢失或者投递失败,RabbitMQ为我们提供了两种方式来控制消息的投递可靠性模式RabbitMQ的消息投递路径为这两个Callback帮助我们实现消息的可靠性投递。消息幂等性、日志监控、集群搭建
2023-03-01 17:55:45
129
原创 项目使用RabbitMQ
异步确认是生产者只需要确保一直发送消息即可,接收消息的broker会返回确认或者未确认,如果消息已被确认,那么生产者就不需要再理会这个消息,如果消息没确认生产者就再次发送消息。手动应答的好处还有批量应答Multiple,比如队列传给信道多个消息5,6,7,8那么当前tag是8,8处理完成之后会批量的应答5,6,7,8也就是全部会收到消息应答。注意:交换机只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与交换机绑定,或者没有符合路由规则的队列,那么消息会丢失。因此缺点明显,发布的速度特别慢。
2023-03-01 17:44:19
450
原创 RabbitMQ的安装
下载与虚拟机版本对应的erlang和rabbitmq-server安装包[https://packagecloud.io/rabbitmq]通过sftp将安装包上传到虚拟机下的 /home/hzp,命令查看是否成功。软件一般安装到 /opt目录下,所以我们先移动安装包到opt目录。安装web界面插件,这样方便我们可视化管理RabbitMQ。访问http://xxxxxx:15672/安装完erlang之后还要安装一个依赖。关闭RabbitMQ,并查看状态。安装rabbitmq。启动RabbitMQ。
2023-03-01 17:34:03
176
原创 什么是RabbitMQ
MQ指的是Message Queue消息队列,遵循FIFO先入先出原则,内部存放的内容为消息,消息队列是一种跨进程的通信机制,用于上下游传递消息。
2023-03-01 17:27:14
64
原创 EasyExcel导出Excel文件
方法一与方法二都使用了EasyExcel进行Excel的导出,区别在于方法一建立了实体类进行Excel的导出,这样的好处是可以直接使用实体类对象进行数据的导出,每一个列和标题都是对应关系。方法二则直接使用了List来导出,每一行数据作为一个list,这样的好处就是可以设置到每一行的每一列。除此之外,方法二还使用了流进行导出,在网页端点击导出Excel按钮发送请求给后端之后,会弹出下载的文件。导入EasyExcel依赖。controller层代码。编写Service层代码。编写ExcelUtil。
2023-03-01 16:22:25
6890
1
原创 Docker安装mysql
容器与容器之间是相互隔离的,容器内部相当于一个完整的Linux系统,这些命令就是为了让容器内部与当前服务器的端口、文件“连接上”。-v /mydata/mysql/data:/var/lib/mysql 将配置文件夹挂载到主机。-v /mydata/mysql/log:/var/log/mysql 将日志文件挂载到主机。-v /mydata/mysql/conf:/etc/mysql 将配置文件夹挂载到主机。查看服务器主机的mydata文件夹(注意,修改了其中的文件,内部容器也会发生变化)
2023-02-19 22:08:05
51
原创 阿里云服务器安装Docker
针对Docker客户端版本大于 1.10.0 的用户,可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器。推荐安装1.10.0以上版本的Docker客户端,参考文档。设置Docker开机自启动(虽然阿里云不会经常重启)
2023-02-19 21:52:06
1243
原创 设计模式之六大原则
LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体,实际上就是减少类与类之间的依赖,面向接口编程,通过接口来连接类。
2023-02-15 10:59:20
40
原创 Mysql索引
索引是为了帮助MySQL高效获取数据的数据结构。索引主要是为了帮助MySQL加快查找速度,索引本身也很大,所以索引也是以文件的形式存储。MyISAM、InnoDB、聚簇索引、非聚簇索引、B+树
2023-02-14 18:31:56
73
原创 设计模式之抽象工厂模式
抽象工厂模式是提供一个抽象的接口,同于创建相关或依赖对象的产品,而不需要明确指定具体的类。抽象工厂模式是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。抽象工厂和工厂模式的区别是抽象工厂可以生成多个产品,比如造车工厂CarFactory还可以生产轮胎、发动机等一系列产品;通过工厂生成器获取对应工厂,然后再通过工厂获取对象。创建一个工厂生成器,通过传递信息来获取不同的工厂。创建扩展了抽象工厂的工厂类。
2023-02-13 17:01:41
61
原创 设计模式之工厂模式
工厂模式是Java最常用的设计模式之一,属于创建型模式。在工厂模式中,创建对象不需要暴露创建逻辑,比如当你需要一辆车,只需要告诉工厂你要什么车,而不需要知道这辆车是怎么做出来的。首先创建一个公共的接口。调用工厂获取需要的车。
2023-02-13 16:26:21
55
原创 字符串与时间的格式转换
hutool的DateUtil进行转换,支持多种格式的时间进行转换。通过DateUtil转换之后,格式为:年-月-日 时:分:秒。获取当前时间,或者前n天后n天时间
2023-02-07 10:09:04
2933
2
原创 IOC控制反转
通常对象的控制权在程序身上,比如在基本的Dao层和Service层中Dao层Service层Test方法.每当出现一个新的UserDao实现类,那么就需要修改userDao的初始化类型,比如出现UserDaoMysqlImpl,那么就要初始化成UserDaoMysqlImpl()因此在ServiceImpl类中,对userDao并不直接初始化,通过setter方法设置userDao的实现类型,可以在MyTest方法直接进行设置,把创建对象的控制权交给程序员。...
2022-07-22 22:24:18
53
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人