自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 Spring Cloud Gateway网关的高级特性以及配置之Route Predicate Factories(路由谓词工厂)

Spring云网关匹配路由作为Spring WebFlux HandlerMapping基础架构的一部分。Spring Cloud Gateway包括许多内置的路由谓词工厂。所有这些谓词都匹配HTTP请求的不同属性。可以将多个路由谓词工厂与逻辑和语句组合在一起。

2024-07-26 17:39:34 405

原创 Spring Cloud Gateway新一代微服务网关

Spring Cloud Gateway组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,从而加强安全保护。Spring Cloud Gateway本身也是一个微服务,需要注册进服务注册中心。

2024-07-26 16:43:07 427

原创 Sleuth(Micrometer) +ZipKin分布式链路追踪的解析以及使用

Sleuth(现在更多地与Micrometer一起讨论,因为Sleuth已经集成了Micrometer)和Zipkin是用于分布式链路追踪的技术,它们的出现主要是为了解决微服务架构下服务间调用的可见性和调试问题。在复杂的微服务架构中,一次用户请求可能需要经过多个服务的处理,每个服务又可能调用其他服务,形成了一张服务调用网。这种情况下,定位问题变得非常困难,因为故障可能出现在任何一个服务调用链路上。

2024-07-23 16:59:48 806

原创 Spring Cloud Circuit Breaker断路器

当一个组件或服务出现故障时,CircuitBreaker会迅速切换到开放OPEN状态(保险丝跳闸断电),阻止请求发送到该组件或服务从而避免更多的请求发送到该组件或服务。这可以减少对该组件或服务的负载,防止该组件或服务进一步崩溃,并使整个系统能够继续正常运行。同时,CircuitBreaker还可以提高系统的可用性和健壮性,因为它可以在分布式系统的各个组件之间自动切换,从而避免单点故障的问题。

2024-07-17 16:23:52 720

原创 OpenFeign的通用实现步骤以及OpenFeign高级特性

OpenFeign 是一个声明式 Web Service 客户端,它简化了编写 Web 服务客户端的过程。它基于 Java 注解,允许你以接口的方式定义远程服务调用,而不需要关心底层的网络通信细节。

2024-07-17 12:48:59 389

原创 在微服务架构架构中父工程中的`<dependencyManagement>`和 `<dependencies>`的区别

在微服务架构中, 提供了一种机制来集中管理依赖版本,而 则是实际引入依赖到项目中的地方。正确的使用这两者可以帮助你更有效地管理复杂的微服务项目。

2024-07-12 21:00:00 453

原创 Java中使用 MD5 工具进行对密码进行加密

使用MD5 对密码进行双重加密(包括加盐)

2023-11-06 21:20:47 308

原创 乐观锁和悲观锁的使用介绍

乐观锁: 乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁: 悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。

2023-10-31 11:39:00 193

原创 Maven的详细介绍(maven的全局配置以及idea中maven的配置)

Maven 是一个强大的项目管理和构建自动化工具,它通过抽象的项目对象模型(POM:Project Object Model)和构建生命周期模型(Project Lifecycle)来对项目及其构建过程进行管理(Dependency Management System),Maven 最大化的消除了构建的重复,提升了构建的效率与标准化。除此之外,Maven 还有依赖管理、自动生成项目站点、代码静态检查等特性。现在已经有无数开源或商业项目使用Maven进行构建,Maven 现在已经是 Java 社区事实标准的构

2023-10-19 14:35:43 1184

原创 深克隆和浅克隆的理解

深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是对象复制的两种不同方式,它们的主要区别在于复制对象时处理对象内部引用的方式:

2023-10-11 19:37:03 138

原创 MySQL的索引问题

索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里所有记录的引用指针。使用索引可以快速找出在某个或多个列中有一特定值的行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径。索引是在存储引擎中实现的,因此,每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。MySQL中索引的存储类型有两种,即BTREE和HASH,具体和表的存储引擎相关。索引底层数据结构存在很多种类型,常见的索引结构有:B 树B+树和Hash红黑树。在。

2023-10-02 17:23:19 230

原创 关于String、StringBuffer、StringBuilder

字符串的私有和共享问题:字符串对象是私有的,要独立分配内存字面量是共享的,内存可复用StringBuffer和StringBuilder类的优化:优化了用 + 拼接字符串的情况Java8 时,其底层使用预估长度的char数组,用 + 连接字符串时就是向数组中追加字符串,追加的字符串超过数组长度时,需要对数组扩容Java9 时,底层使用byte数组,用 + 拼接前,先计算拼接字符串的总长度,根据总长度定义数组大小,避免了数组的扩容。

2023-09-21 14:25:25 125

原创 关于Java多线程的那些事

关于多线程的理解,创建多线程的方式,三种方式的区别,Thread类的常用方法的介绍

2023-09-15 20:56:01 215

原创 使用字节流实现文件的切割以及文件的合并、文件的复制(三种)

文件拆分(切割)将大文件拆分成多个小文件,每个小文件的大小可以自定义,这样可以方便传输,也可以方便存储。 步骤:创建一个文件输入流对象,关联数据源文件创建一个文件输出流对象,关联子文件为了防止子文件覆盖,需要在文件名后面加上编号会有多个子文件,所以需要使用循环读取数据源文件,将读取到的字节写入到子文件关闭资源文件合并将多个小文件合并成一个大文件,这样可以方便存储,也可以方便传输。 步骤:创建一个文件输出流对象,关联目的地文件创建一个文件输入流对象,关联数据源文件

2023-09-13 20:24:37 307 1

原创 关于Java集合中容量问题

1. HashMap容量为什么是2的n次方2. Hashtable扩容方式为什么是旧容量的2倍 +1

2023-09-10 15:19:03 137

原创 Java集合大总结——Map集合

1、Map集合框架1.1 关于Map接口中的主要实现类1.2 各实现类的特点:2. HashMap 和 Hashtable 的区别3. HashMap 和 HashSet 区别4. HashMap 和 TreeMap 区别

2023-09-10 15:18:11 134

原创 Java集合大总结——Collection集合

1.List,Set,Queue,Map四者的区别2.集合底层数据结构梳理3.如何选用集合?为什么使用集合4.List接口ArrayList 和 Array(数组)的区别?LinkedList 为什么不能实现 RandomAccess 接口?ArrayList 与 LinkedList 区别?ArrayList 的扩容机制5.Set接口Set集合的无序性和不可重复性的含义是什么比较 HashSet、LinkedHashSet 和 TreeSet区别HashSet 如何检查重复?

2023-09-08 22:23:21 247

原创 Java类的声明周期、对象的创建过程

Java类的声明周期【七个阶段】、对象的创建过程

2023-08-31 11:56:28 321

原创 Java函数式接口(函数式编程、常用的函数式接口)

*@FunctionalInterface注解:作用:是检测接口是否是一个函数式接口注意:如果接口中没有抽象方法或者抽象方法的个数多余1个,该注解则会报错* *///定义一个抽象方法// 同样public abstract可以省略。。由于接口当中的抽象方法//定义一个抽象方法。

2023-08-29 20:28:08 1512

原创 Java抽象类——抽象类与普通类的区别

1、含义:类和类之间具有共同特征,将这些共同特征提取出来,就形成抽象类。。。在java中,被abstract关键字修饰的类叫做抽象类,被abstract关键字修饰的方法叫做抽象方法。final抽象方法是由继承了抽象类的子类重写后调用子类重写的方法来执行。抽象方法有abstract修饰,抽象方法没有方法体,抽象方法无法执行,抽象方法不能用 private修饰,抽象类和普通类的区别。

2023-08-29 15:59:06 293

原创 Java成员类(内部类、匿名内部类)

匿名内部类System.out.println("匿名内部类输出");a.print();静态内部类。

2023-08-28 23:05:03 452

原创 Java字符序列——String字符串之方法总结

​判断字符串是否为空的方法:区别:isEmpty() 方法 和 isBlank() 方法isEmpty() 方法是在 Java 6 中引入的,用于检查字符串是否为空。具体行为如下:如果字符串的长度为0,即它不包含任何字符,那么 isEmpty() 返回 true。如果字符串为 null,则调用 isEmpty() 会引发 NullPointerException 异常。如果字符串包含空格或制表符等空白字符,isEmpty() 仍然返回 false,因为它

2023-08-24 19:23:52 322

原创 Java字符序列——String字符串1.1

java 中的8种基本数据类型。其中, char 是字符类型,占2个字节16位,默认值是 ‘\u0000’。用 char 类型的变量来表示单个字符,用单引号引起来。多个字符按照一定的顺序组成的列表就叫作字符序列。

2023-08-22 22:46:14 171

原创 Java面向对象——多态、Object类、instanceof关键字以及final关键字

instanceof 用于在运行时检查一个对象是否是特定类的实例,或者是否实现了特定接口。1. 判断对象是否是特定类的实例:2. 判断对象是否实现了特定接口:3. 多层次继承中的判断: instanceof 也可以在多层次继承关系中使用。4. 避免滥用 instanceof: 虽然 instanceof 可以用于类型检查。但在面向对象的设计中,通常应该倾向于使用多态和继承来避免大量的 instanceof 检查。

2023-08-20 15:40:17 337 3

原创 java面向对象——继承以及super关键字

super用在子类中,目的只有一个,那就是访问父类中被隐藏的内容。(1) 无法通过super访问父类的private成员(2) super只能出现在子类(子类的实例方法或构造方法中)。(3) 使用 super 调用父类中的构造方法(super(实参)形式),必须在子类构造方法的“第一条语句”,调用父类中相应的构造方法,若不显示的写出来,默认调用父类的无参构造方法,比如:super();1. 调用父类构造方法:在子类的构造方法中使用 super() 可以调用父类的构造方法,以初始化父类的部分。

2023-08-20 14:58:57 913

原创 Java面向对象——封装以及this关键字

封装是面向对象编程(OOP)的三大特性之一,它将数据和操作数据的方法组合在一个单元内部,并对外部隐藏其具体实现细节。在Java中,封装是通过类的访问控制修饰符(如)和访问方法(getter 和 setter)来实现的。

2023-08-17 21:26:10 154

原创 javaSE_2.2——【方法的介绍】

(2)方法定义完成后不会主动执行,执行方法需要被调用类名.方法名();(4)方法不能嵌套,不能在一个方法中声明另一个方法。(5)类需不需导包?

2023-08-11 19:30:57 187

原创 JavaSE_2.1——数组之Arrays工具类

Java提供了一个专门用于操作数组的工具类,即Arrays类,位于Java. util包下【需要导入】。该类提供了一系列方法来操作数组,例如排序、赋值、比较、填充数组 等,用户直接调用这些方法即可【例如:Arrays.sort(数组名)】,这样就降低了开发难度。

2023-08-10 21:32:39 457

原创 杨辉三角【Java二维数组】

杨辉三角是一种数学图形,可以用来展示一些数字之间的规律。它的一些特殊性质包括每一行的两个端点都为1,中间的数字是上一行相邻两个数字之和。杨辉三角在组合数学中有着广泛的应用,例如可用于计算二项式系数。循环来输出杨辉三角。第一个循环用来遍历每一行,第二个循环用来遍历每一行中的数字。在第二个循环中,我们还使用了一个。循环中,我们初始化每一行的第一个和最后一个数字,并且根据上一行的数字来计算出中间的数字。循环来打印数字之间的空格,以使三角形更加美观。这个代码中,我们定义了一个二维数组。来存储杨辉三角的每一个数字。

2023-08-09 21:03:19 603

原创 JavaSE_2.1——数组【概念、创建、内存分配】

1.数组的定义:一组能够存储值的变量的集合2.数组的赋值方式:New关键字表示创建一个数组;(1)使用默认的初始值来初始化数组中的每一个元素语法:数组元素类型数组名new数组元素类型数组中元素的个数(数组的长度)例如:(2)先声明,然后再赋予默认的初始值语法:数组元素类型[数组名;数组名new数组元素类型[数组中元素的个数;例如:int[ ]scores;(3)先声明,,然后再使用指定的值进行初始化语法:数组元素类型[数组名new数组元素类型[

2023-08-07 20:53:59 177

原创 Java循环——最大公约数、最小公倍数

【代码】Java循环——最大公约数、最小公倍数。

2023-08-04 19:19:47 866

原创 分解质因数、以及查找1到100之间的质数——Java循环

举个简单例子,12的分解质因数可以有以下几种:12=223=43=112=2*6,其中1,2,3,4,6,12都可以说是12的因数,即相乘的几个数等于一个自然数,那么这几个数就是这个自然数的因数。2,3,4中,2和3是质数,就是质因数,4不是质数。那么什么是质数呢?就是不能再拆分为除了1和它本身之外的因数的数,如2,3,5,7,9,11,13,17,19,23,29等等。

2023-08-04 16:59:55 448

原创 Java基础篇_1.5——程序流程控制之循环结构【包含各种图形练习】

Java中的循环结构包括for循环、while循环和do-while循环。其中,for循环是最常用的循环结构,它有初始化语句、条件判断语句和更新语句三个部分。while循环和do-while循环的语法类似,只是在条件判断上有所不同。跳转语句是Java中控制程序流程的重要工具,包括break语句和continue语句。break语句用于跳出当前循环或者switch语句,而continue语句则用于跳过当前循环中剩余的代码,直接进入下一次循环 。

2023-08-03 20:13:29 186

原创 Java基础篇_1.4——程序流程控制之选择结构if语句

程序流程控制语句是用来控制程序执行顺序的语句,Java程序的基本结构包括顺序结构、选择结构和循环结构。此外,JDK1.5之后引入了for-each循环,用于迭代(遍历)数组和集合。

2023-08-02 21:08:00 391

原创 Java基础篇_1.3——数据类型和运算符

java 基本数据类型和运算符

2023-08-01 20:58:14 209

原创 Java基础篇_1.2——保留关键字、基本数据类型、基本数据类型之间的转换

关于Java保留关键字、基本数据类型、引用数据类型以及数据类型之间的转换

2023-07-31 22:28:05 171

原创 JAVA基础原理篇_1.1—— 关于JVM 、JDK以及 JRE

Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。

2023-07-31 21:34:34 675 1

原创 MySQL_2.6【高级查询2】详细讲解

一、多表查询1、笛卡尔积现象2、等值连接查询3、自连接查询4、内连接查询5、外连接二、子查询1、单列子查询2、单行子查询3、多行子查询4、关联子查询

2023-07-28 19:29:17 253

原创 mysql_2.5——【约束】详解

主键约束、自增长列、唯一约束、默认约束

2023-07-27 20:35:32 357

原创 mysql_2.4——安装常见问题

关于MySQL的常见问题以及解决方案。忘记MySQL密码的解决方案

2023-07-27 18:54:36 651

JDBC技术使用标准的 SQL 语言对数据库表中的数据进行访问,以及增删查改

JDBC英文是 Java DataBase Connectivity 。 它是 Java 原生的数据库访问技术。 JDBC 是 Java 的发明者 SUN 提出的访问数据库的规范接口。 是一种用于 SQL 语句的 Java API,由一组类和接口组成,通过调用这些类和接口所提供的方法,可以使用标准的 SQL 语言来存取数据库中的数据,特别是可以访问存储在关系数据库里的数据。JDBC 可以用 Java 语言在各种平台上实现,比如 Windows 系统, Mac OS 系统,和各种版本的 UNIX 系统。 在本篇文章中,主要讲述在Java语言中如何和数据库进行交互。

2022-09-11

Java SE-基础篇-运算符、随机数(Random)、方法、数组-入门级讲解

JAVA SE(Java Standard Edition,Java 标准版)入门级讲解。 java se是Java技术的核心和基础,是Java ME和Java EE编程的基础 。 Java SE是由Sun 公司于1995年5月推出的Java程序设计语言和Java平台的总称。运行JAVA程序不可缺少的环境,也是Java的核心。后来的各种框架,各种产品都是基于JavaSE,也就是JavaSE是java向上发展的基础。 JavaSE就是一种标准版,是Java中的基础部分,不过后来的各种框架,各种产品都是基于JavaSE,也就是JavaSE是java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,所以如果要学习,把它学扎实,牢固是很有必要的。

2022-08-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除