自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法-插入排序

将取出的元素与已排序部分的元素逐一比较,找到其正确的插入位置。为了插入,可能需要将比它大的元素依次向右移动,为新元素腾出插入的位置。重复以上步骤,每次取出未排序部分的一个元素,插入到已排序部分的正确位置。这样,已排序部分逐渐增加,未排序部分逐渐减小。将数组分为已排序部分和未排序部分。初始时,已排序部分只包含第一个元素,而未排序部分包含其余的元素。从未排序部分取出第一个元素,将其插入到已排序部分的正确位置,使得已排序部分仍然保持有序。重复上述过程,直到未排序部分为空,整个数组就被排序完成了。

2025-04-01 19:12:21 160

原创 排序算法-选择排序

选择排序的核心思想是每次从未排序部分选择一个最小(或最大)的元素,然后将其放到已排序部分的末尾。: 重复以上步骤,每次找到未排序部分的最小(或最大)元素并将其放到已排序部分的末尾,直到整个数组都有序。移动到下一个位置: 将当前位置移动到下一个未排序的位置,继续从步骤 1 开始。: 遍历未排序的部分,找到比当前最小(或最大)元素更小(或更大)的元素。: 从数组的起始位置开始,将第一个元素视为当前最小(或最大)的元素。: 将找到的最小(或最大)元素与当前位置的元素交换位置。

2025-03-19 09:20:09 270

原创 排序算法-冒泡排序

冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。思路演示原始数组:3, 9, -1, 10, 20第一趟排序第二趟排序。

2025-03-07 19:17:20 448

原创 nginx负载均衡

负载均衡是将网络请求分配到多个服务器的过程,从而优化资源使用、最大化吞吐量、减少响应时间并避免单一服务器的过载。Nginx 提供了多种负载均衡策略,包括轮询、最少连接、IP 哈希等。

2025-02-21 18:06:04 251

原创 【微信小程序】错误码 40029:invalid code

方法必须在微信环境中调用。如果在模拟器中运行或调用方式不符合规范,也可能导致获取的。),并将其发送到后端服务器。后端服务器再向微信接口发送请求,换取用户的唯一标识(错误码 40029 通常出现在后端与微信服务器的通信过程中,表明。,不要在非微信环境或浏览器中模拟。后端请求微信接口时应包含正确的。方法获取用户的临时登录凭证(不符合接口的验证要求。是否属于对应的小程序。:仅在微信小程序中调用。在小程序中,通过调用。无法匹配,返回错误。

2025-02-14 16:36:10 1532

原创 Docker--容器报错 Error response from daemon: driver failed programming external connectivity on endpoint

当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后操作 firewalld ,你就需要重启 Docker 进程了。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。原因:在我们启动了Docker后,我们再对防火墙firewalld进行操作,就会发生上述报错,解决办法:输入指令 如下指令,重启docker服务及可重新生成自定义链DOCKER。

2025-02-11 18:05:41 518

原创 java中==和equals()的区别

对于基本数据类型,比较的是值是否相等。对于引用类型,比较的是两个引用是否指向同一个对象(即地址是否相同)。默认实现是基于 == 操作符的,即比较两个引用是否指向同一个对象。但很多类(如String, Integer等)都重写了 equals() 方法,以提供基于内容的比较。提示1、当比较两个对象的内容是否相等时,应该优先使用 equals() 方法,而不是 == 操作符。2、自定义类如果需要比较内容是否相等,也应该重写 equals() 方法。

2025-01-23 10:06:50 265

原创 Java合并多个List集合的方法

在合并两个Java List时,最常用的是addAll()方法,简单直接且高效。对于需要处理大量数据或者涉及并发场景,可以考虑使用Stream API或者CopyOnWriteArrayList。同时,若要确保合并过程中去除重复项,可以结合使用HashSet或Collections.union()方法。方法,可以直接将一个集合中的所有元素添加到另一个集合中。从Java 8开始,可以利用Stream API提供的。,可以用来合并两个集合,不过需要注意该方法返回的是。方法来合并两个流,进而合并两个List。

2025-01-17 10:20:53 842

原创 504 Gateway Timeout:网关超时解决方法

504 Gateway Timeout 是HTTP 状态码的一种,表示网关或代理服务器在等待上游服务器响应时超时。通俗来说,这是服务器之间“对话失败”导致的。

2025-01-11 17:00:30 5150

原创 解决 FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

Node 中通过script使用的内存只是很小的一部分(64位系统下约为1.4 GB,32位系统下约为0.7 GB),3、装插件:increase-memory-limit插件,目的是为了增加Node服务器运行内存限制,装完插件之后在scripts中增加一句设置内存的代码。2、在项目package.json的 scripts 中增加 node --max_old_space_size=4096。:关闭所有打开的命令框和代码编辑器,然后Windows+R输入cmd打开命令框,在命令框输入以下代码回车即可。

2025-01-06 09:39:47 2507 2

原创 mysql事务

如果系统运行发生中断,某个事务尚未完成而被迫中 断,而该未完成的事务对数据库所做的修改已被写入数据库,此时数据库就处于一种不正确(不一 致)的状态。一个事务可能由多条SQL构成,也就意味着,任何一个事务,都有执行前,执行中,执行后的阶 段。数据库在可重复读情况的时候,无法屏蔽其他事务insert的数据,会造成虽然大部分内容是可重复读的,但是insert的数据在可重复读情况被读取出来,导致多次查找时,会多查找出来新的记录,就如同产生了幻觉。至此,我们创建了两个保存点,并且在保存点之后,进行了若干表操作。

2024-12-27 17:58:01 703

原创 java中的io

Java 的 IO(输入/输出)操作是处理数据流的关键部分,涉及到文件、网络等多种数据源。以下将深入探讨 Java IO 的不同类型、底层实现原理、使用场景以及性能优化策略。

2024-12-20 17:12:12 862

原创 Java 中的异常处理之 try-catch

在 Java 编程中,异常处理是一项非常重要的技术。它可以帮助我们更好地处理程序运行过程中出现的错误情况,提高程序的稳定性和可靠性。Java 中的异常处理主要通过 try-catch 语句来实现。

2024-12-13 15:31:43 308

原创 简单认识docker

docker镜像就好比一个模板,我们可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。docker利用容器技术,独立运行一个或者一组应用 通过镜像来创建。启动,停止,删除,基本命令!目前就可以把这个容器理解为就是一个简易的linux系统。仓库就是存放 镜像(image)的地方!仓库又可以分为 公有仓库和私有仓库。

2024-12-09 17:03:48 356

原创 linux磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

2024-11-29 18:27:36 1068

原创 HTTP 状态码

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。HTTP 状态码的英文为。

2024-11-25 16:19:15 586

原创 Linux自动备份MySQL数据库

【代码】Linux自动备份MySQL数据库。

2024-11-15 18:32:20 176

原创 Java 数据结构

Java 提供了丰富的数据结构来处理和组织数据。Java 的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。

2024-11-08 17:59:13 773

原创 简单了解http和https协议

HTTP(HyperText Transfer Protocol,超文本传输协议)和HTTPS(HTTP Secure,安全超文本传输协议)都是用于从网络传输超文本到本地浏览器的传输协议,它们是互联网上应用最为广泛的协议之一。随着网络安全意识的提高,越来越多的网站选择使用HTTPS来保护用户数据和提高网站的可信度。

2024-11-01 16:45:33 742

原创 Java8中的Lambda表达式

Lambda表达式还可以用于实现自定义的操作,例如,我们可以使用Lambda表达式来创建一个简单的自定义比较器。在这个例子中,我们首先创建了一个名为lengthComparator的Comparator实例,它比较两个字符串的长度。Lambda表达式中的箭头符号(->)表示比较逻辑,这里我们使用s1.length() - s2.length()来比较两个字符串的长度。然后,我们使用compareTo方法来比较"Alice"和"Bob"的长度。

2024-10-28 09:51:01 787 1

原创 Spring Boot 最核心的 3 个注解详解

这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。注解的变体,只是用来修饰是 Spring Boot 配置而已,或者可利于 Spring Boot 后续的扩展,源码如下。如果有些通过类的注册方式配置不了的,可以通过这个注解引入额外的 XML 配置文件,有些老的配置文件无法通过。看全路径就知道,这是自 Spring Boot 诞生时添加的注解,用来提供自动配置,上面的两个都是。

2024-10-18 18:17:05 406

原创 EasyExcel导出带下拉框模板

为了避免excel下拉框选项过多会导致内容不显示,将下拉框的内容都存储在另一个新建的固定的sheet页,再通过引用公式关联单元格的下拉框内容。

2024-10-09 11:45:11 419

原创 nginx反向代理

reverse proxy,是指用代理服务器来接受客户端发来的请求,然后将请求转发给内网中的上游服务器,上游服务器处理完之后,把结果通过nginx返回给客户端。这样就可以通过a.xxx.com来访问a项目对应的网站了,而不需要带上难看的端口号。代表源服务器的访问地址,也就是真正处理请求的服务器(localhost+端口号)。更新Nginx配置:编辑Nginx的配置文件(通常是。指令,将它们的路径分别指向新的证书文件和私钥文件。更新证书文件:将新的证书文件(通常是。)和私钥文件(通常是。

2024-09-20 18:44:54 168

原创 list和set底层数据结构

不保证集合的迭代顺序。ArrayList底层数据结构是动态数组(具有动态扩容的能力,当元素数量超过当前数据容量时,ArrayList会自动增加其容量),特点是查询快(数组有索引标记元素位置,查询的时候直接返回索引标记的数据即可),增 删慢(数组增加或者删除需要复制和移动数组中的数据),线程不同步。LinkedList底层数据结构是双向链表(每个节点都包含对前一个节点后一个节点的引用),特点是增删快(只需要修改节点的前后引用即可),查询慢(链表没有对数据进行位置标记,每次获取固定位置的数据需要循环遍历链表)

2024-09-14 11:50:41 440

原创 Java中Date与LocalDate、LocalDateTime之间的区别及相互转换

Date类是Java早期版本提供的用于表示特定的瞬间,精确到毫秒级别的日期和时间对象。它包含了一个从格林尼治标准时间1970年1月1日0点0分0秒(即Unix纪元)开始计算的毫秒数。这个类的设计存在一些问题,如非线程安全、可变性以及时区处理不便等。LocalDate是Java 8新增的时间API类,仅表示日期部分,不包括时间信息,也不包含任何时区信息。它是不可变的,提供对年、月、日的精确操作,并且支持各种日期计算方法。

2024-09-06 17:46:43 387

原创 jvm垃圾收集算法

YoungGC并不是说现有的Eden区放满了就会触发,G1会计算下现在Eden区回收大概需要多长时间,如果回收时间远远小于参数-XX:MaxGCPauseMills设定的值,那么会继续增加年轻代的region,继续给新对象存放,不会马上做YGC,直到下一次Eden区放满,G1计算回收时间接近参数-XX:MaxGCPauseMills设定的值,那么就会触发YGC。在启动时,jvm设置分区大小,根据堆内存大小,分区大小可以设置为1M~32M(2的指数倍)(设置参数:-XX:G1HeapRegionSize)。

2024-08-27 14:39:13 640

原创 麒麟操作系统服务器安装jdk、mysql、es、nginx、redis

各个版本包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases。./elasticsearch(这样启动会看到启动过程,但你做不了其他操作了,可以先用此操作看是否成功启动再用后台启动的方法启动)flush privileges;地址:https://github.com/medcl/elasticsearch-analysis-ik。apt install openjdk-8-jdk 默认安装在/usr/lib/jvm/目录下。

2024-08-23 17:38:18 1464

原创 linux 安装elasticsearch和ik分词

下载elasticsearch解压elsaticsearch到/usr/local/elasticsearch修改配置文件elasticsearch.yml# 集群名称# es节点id# es的数据存储目录# es的日志存储目录# 锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区# 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问,外网访问需要设置0.0.0.0。

2024-01-09 15:16:51 1195 1

原创 记录一下screw生成数据库文档

/指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置。.description("数据库设计文档生成")//设置可以获取tables remarks信息。//根据名称指定表生成。// //根据表后缀生成。// 根据表前缀生成。

2023-06-02 15:57:44 204 2

空空如也

空空如也

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

TA关注的人

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