- 博客(45)
- 收藏
- 关注
原创 SpringCloud组件介绍
Gateway是在spring生态系统之上构建的API网关服务,基于Spring5,SpringBoot2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等SpringCloud Gateway是SpringCloud的一个全新项目,基于Spring5.X+SpringBoot2.X和Project Reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。
2025-04-02 21:20:08
683
原创 SpringCloud概述
针对微服务系统架构所存在的问题,肯定是需要有具体的技术来解决,而所使用到的技术就是Spring Clouad Alibaba。那么想要了解Spring Clouad Alibaba,那么就需要先了解一下Spring Cloud。1、Spring Cloud 是一系列框架的有序集合。在Spring Cloud这个项目中包含了很多的组件【子框架】,每一个组件都是用来解决问题系统架构中所遇到的问题,因此Spring Cloud可以看做是一套微服务的解决方案。
2025-04-01 21:15:42
801
原创 RabbitMQ延迟队列
官网地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange延迟极限:最多两天。
2025-04-01 21:03:54
827
原创 RabbitMQ死信队列
死信队列,英文缩写:DLX。DeadLetter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。
2025-04-01 21:01:16
658
原创 RabbitMQ消息超时
TTL 全称 Time To Live(存活时间/过期时间)。当消息到达存活时间后,还没有被消费,会被自动清除。RabbitMQ可以对消息设置过期时间,也可以对整个队列(Queue)设置过期时间。
2025-04-01 20:58:36
127
原创 消息的可靠性投递
在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。confirm 确认模式return 退回模式消息从 producer 到 exchange 则会返回一个 confirmCallback。消息从 exchange–>queue 投递失败则会返回一个 returnCallback。我们将利用这两个 callback 控制消息的可靠性投递要点1:把消息确认模式改为手动确认。
2025-04-01 20:53:25
911
原创 RabbitMQ的工作模式
1、简单模式 HelloWorld一个生产者、一个消费者,不需要设置交换机(使用默认的交换机)2、工作队列模式 Work Queue一个生产者、多个消费者(竞争关系),不需要设置交换机(使用默认的交换机)3、发布订阅模式 Publish/subscribe需要设置类型为fanout的交换机,并且交换机和队列进行绑定,当发送消息到交换机后,交换机会将消息发送到绑定的队列4、路由模式 Routing。
2025-04-01 20:43:10
881
原创 RabbitMQ概述和安装
MQ全称为, 消息队列(MQ)是一种应用程序对应用程序的通信方法。介绍:消息队列就是基础数据结构中的“先进先出”的一种数据机构。想一下,生活中买东西,需要排队,先排的人先买消费,就是典型的“先进先出”。**消息传递:**指的是程序之间通过消息发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。**排队:**指的是应用程序通过队列来通信。消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用,为什么会产生消息队列?
2025-04-01 20:37:09
966
原创 docker的与使用
思考问题:在Redis容器中存储的数据,如果Redis容器被删除了,数据是否还存在?解决方案:将数据存储到Linux宿主机的磁盘目录中数据卷概述:数据卷是docker所提供的一个虚拟目录,这个虚拟目录会对应宿主机的一个真实目录。在创建容器的时候就可以将这个数据卷挂载到容器中的某一个目录下,那么此时在该目录下所产生的数据就会存储到宿主机的目录下,实现了容器和宿主机之间的文件共享。前面我们所使用的镜像都是别人构建好的,但是别人构建好的镜像不一定能满足我们的需求。
2025-04-01 20:31:00
1197
原创 JUC并发编程
在 Java 5.0 提供了 (简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或实现起来冗长乏味。参照JDK文档: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/module-summary.html**进程:**进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统
2025-03-13 10:28:48
1246
原创 jvm虚拟机
JavaVirtualMachine,Java虚拟机**位置:**JVM是运行在操作 系统之上的,它与硬件没有直接的交互。为什么要在程序和操作系统中间添加一个JVM?Java 是一门抽象程度特别高的语言,提供了自动内存管理等一系列的特性。这些特性直接在操作系统上实现是不太可能的,所以就需要 JVM 进行一番转换。有了 JVM 这个抽象层之后,Java 就可以实现跨平台了。JVM 只需要保证能够正确执行 .class 文件,就可以运行在诸如 Linux、Windows、MacOS 等平台上了。
2025-03-13 10:07:54
891
原创 Git仓库
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
2025-02-13 16:18:58
611
原创 Redis
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。不遵循SQL标准。不支持ACID。远超于SQL的性能。1 能够独立完成redis数据库的安装和启动方式调试2 能够简单操作redis数据库。
2025-02-13 15:43:12
1187
1
原创 常见Linux命令
1 熟练文件目录类命令2 熟悉用户管理命令3 熟悉组管理命令4 熟练文件权限命令5 熟悉搜索查找类命令6 熟练压缩和解压缩命令7 熟练进程线程类命令8 了解磁盘分区类命令。
2025-02-13 14:57:25
1794
原创 SpringBoot框架
新建工程:导入启动器编写配置文件:application.properties启动类启动服务器所有SpringBoot项目都继承一个父工程父工程主要作用:导入配置文件父工程的父工程:定义常用坐标的版本号并导入当前工程所有SpringBoot项目都导入一个场景启动器:基启动器1.3.2 常用场景启动器SpringBoot基启动器SpringBoot整合MVCSpringBoot整合Mybatis1.3.4 场景启动器小结SpringBoot的父项中定义
2025-02-06 20:10:18
953
原创 MyBatis持久层框架
MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。insert– 映射插入语句。update– 映射更新语句。delete– 映射删除语句。select– 映射查询语句。MyBatis 在查询和结果映射做了相当多的改进。一个简单查询的 select 元素是非常简单:</
2025-02-05 20:55:32
824
原创 SpringMVC框架
import org/***/ @Controller("helloController") //定义请求处理器 public class HelloController {/*** 为当前方法映射URL(/hello)*/ @RequestMapping("/hello") //设置响应体 @ResponseBody public String hello() {!!} }/**
2025-01-20 21:02:04
1025
原创 Spring企业级一站式框架
前言课程大纲第1章 框架概述1.1 框架概念1.1.1 生活中框架框架( Framework )是一个集成了基本结构、规范、设计模式、编程语言和程序库等基础组件的软件系统,它可以用来构建更高级别的应用程序。框架的设计和实现旨在解决特定领域中的常见问题,帮助开发人员更高效、更稳定地实现软件开发目标。小结框架思维:为解决特定问题而提供的一整套解决方案,使用Maven可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)使用就是本课程的主要目标!例如我们项目需要第三方库(依赖),如Druid连接池、MySQL数据库驱动和Jackson等。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!
2025-01-16 11:29:30
933
原创 会话_JSP_过滤器_监听器_Ajax
第8章 会话_JSP_过滤器_监听器_Ajax8.1 会话8.1.1 会话管理概述1、为什么需要会话管理HTTP是无状态协议:无状态就是不保存状态,即无状态协议(stateless),HTTP协议自身不对请求和响应之间的通信状态进行保存,也就是说,在HTTP协议这个级别,协议对于发送过的请求或者响应都不做持久化处理;简单理解:浏览器发送请求,服务器接收并响应,但是服务器不记录请求来自哪个浏览器,服务器没记录浏览器的特征,就是客户端的状态;举例:张三去一家饭馆点了几道菜,觉得味道不错,
2025-01-16 11:22:47
1138
原创 JavaWeb核心Servlet技术
Servlet (server applet) 是运行在服务端(Tomcat)的Java小程序,是sun公司提供一套定义动态资源规范;代码层面上Servlet就是一个接口。用来接收、处理客户端请求、响应给浏览器的动态资源。在整个Web应用中,Servlet主要负责接收处理请求、协同调度功能以及响应数据。我们可以把Servlet称为Web应用中的控制器。不是所有的JAVA类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet。
2025-01-16 11:15:25
750
原创 JavaScript
HTML 事件可以是浏览器行为,也可以是用户行为。当这些一些行为发生时,可以自动触发对应的JS函数的运行。JS的事件驱动指的就是行为触发代码运行的这种特点。BOM是Browser Object Model的简写,即浏览器对象模型;BOM由一系列对象组成,是访问、控制、修改浏览器的属性和方法;BOM没有统一的标准(每种客户端都可以自定标准);BOM编程是将浏览器窗口的各个组成部分抽象成各个对象,通过各个对象的API操作组件行为的一种编程;window 顶级对象,代表整个浏览器窗口;
2025-01-16 11:10:13
628
原创 MySQL单行函数
在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,本章及下一章讲解的是 SQL 的内置函数。
2024-11-28 14:48:55
668
原创 MySQL多表查询
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作前提条件:这些一起査询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
2024-11-21 17:59:35
1290
原创 MySQL运算符
算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的。在Java中,+的左右两边如果有字符串,那么表示字符串的拼接。但是在MySQL中+只表示数值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按0计算。
2024-11-20 14:29:40
1178
原创 数据库概述
MySQL是一个开放源代码的关系型数据库管理系统,由瑞典MySQLAB(创始人Michaelwidenius)公司1995年开发,迅速成为开源数据库的 No.1.> 2008被Sun 收购(10亿美金),2009年Sun被0racle收购。MariaDB应运而生。(MySQL的创造者担心MySQL有闭源的风险,因此创建了 MySQL的分支项目 MariaDB)> MySOL6.x版本之后分为社区版和商业版。
2024-11-18 20:06:23
1033
原创 JDK8-17新特性
Java 8是Java编程语言的一个重大版本更新,于2014年3月发布。它引入了许多新特性和改进,使得Java编程更加方便和高效。下面是Java 8的主要新特性:Lambda表达式:Lambda表达式是Java 8中最引人注目的特性之一。它允许开发人员使用更简洁的语法来定义匿名函数,从而使代码更简洁、可读性更强。函数式接口:Java 8引入了函数式接口的概念,它是只包含一个抽象方法的接口。这使得开发人员可以使用Lambda表达式来实现接口的抽象方法,从而更方便地实现函数式编程。
2024-11-18 17:25:51
842
原创 JAVA反射机制
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个class类型的对象(一个类只有一个class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。
2024-11-17 14:05:12
1297
原创 File类与IO流
1.File类的使用1.1File类的理解> File类位于java.io包下,本章涉及到的相关流也都声明在此包下。> File类的一个对象,对应与操作系统下的一个文件或一个文件目录。1.2内部api使用说明构造器/*public File(String pathname) : 以pathname为路径创建File对象,可以是绝对路径或相对路径。public File(String parent,String child) :以parent为父路径,child
2024-11-15 12:11:52
981
原创 Java集合框架
泛型是一种在编程语言中定义可以适用于不同类型的代码的机制。它允许开发人员编写能够在不同类型上工作的可重用代码,而不必为每个具体类型编写重复的代码。泛型提供了一种参数化类型的方式,使得代码可以在使用时指定具体的类型。通过使用泛型,可以编写更加通用和灵活的代码,使得代码更加可读、可维护和可扩展。类型安全性:泛型可以在编译时捕获类型错误,从而提高代码的安全性。代码重用:通过使用泛型,可以编写能够适用于多种类型的代码,避免了重复编写相似的代码。
2024-11-07 10:14:46
1070
原创 Java常用类和基础API
String具有不可变性>final:String是不可被继承的>Serializable:可序列化的接口,凡是实现此类接口的对象就可以通过网络或本地流进行数据的传输。>Comparable:凡是实现此接口的类,其对象都可以比较大小。
2024-11-02 19:12:15
878
原创 Java面向对象编程(高级)
设计模式是在大量的实践中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考模式,设计模式免去我们自己再思考和摸索,就像是经典的棋谱,不同的棋局,我们用不同的棋谱,经典的设计模式有23种,每个设计模式均是特定环境下特定问题的处理方法。在Java中,接口使用interface关键字来定义。接口中的方法默认为,接口中的属性默认为。// 定义接口// 接口中的方法默认是抽象的void eat();在上面的例子中,Animal是一个接口,定义了两个方法eat()和sleep()
2024-10-25 13:06:56
1000
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人