自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(498)
  • 资源 (1)
  • 收藏
  • 关注

原创 什么是消息幂等性?为什么会出现消息重复消费,如何保证或解决消息幂等性,保证或解决消息幂等性的方式

事务消息可以保证消息仅被处理一次。在发送事务消息时,消息发送方先发送一条半事务消息,等到消息处理完毕之后再发送一条确认消息。只有确认消息发送成功,半事务消息才算发送成功,否则半事务消息将在一定时间内重发,直到发送成功或者达到最大重试次数。每个消息都有一个唯一的ID(消息携带的唯一标识或hashcode等),消费端通过这个ID来判断是否已经处理过,避免重复操作。指的是一个消息发送多次,接收方能够得到同样的处理效果,就像只发送了一次一样。通过消息确认机制,可以保证每个消息只被处理一次,避免重复消费。

2024-09-11 14:00:15 821

原创 springBoot重写start run方法

这些接口的目的是在Spring应用上下文初始化完成后执行一些定制的操作。过程中做些特别的事情,如初始化服务注册到Eureka,可以在这个方法里实现。Spring Boot允许开发者自定义应用程序启动过程,如果想要重写。当Spring Boot应用启动时,会自动运行此类的。例如,如果你创建了一个类并实现了。方法,通常是在实现了。

2024-09-02 12:15:49 209 1

原创 springboot 自动装配原理

Spring Boot 的自动装配(Auto-Configuration)原理主要是基于依赖注入(Dependency Injection,DI)的思想。它通过扫描类路径下的特定目录,查找包含特定注解(如。自动装配使得开发者无需手动编写大量的bean配置,提高了代码的简洁性和可维护性。然而,如果需要自定义装配过程或有特殊需求,开发者仍可以随时覆盖或扩展Spring Boot的自动配置。等)的类,并根据这些类及其元数据来自动配置bean。注解用于条件判断,以及各种。注解用于引入其他配置。

2024-09-02 12:06:43 248

原创 【MySQL】将一张表的某一个值赋值到另一张表中

在MySQL中,要将一张表(我们称之为Table_A)的某个字段的值赋给另一张表(Table_B)的对应字段,你可以使用。两张表可以通过某个字段关联起来,并且想要将其中一张表的某个值赋值到另一张表的某个字段中。这里假设Table_A和Table_B有一个共同的字段。用于连接两张表,并且你想把Table_A的。字段的值赋给Table_B的。

2024-08-09 15:01:36 757

原创 Java中 一方包,二方包和三方包区别

总结来说,主要区别在于权限范围和使用范围:一方包限于项目内部,二方包限于公司内部,而三方包则是面向公众或行业开放的。

2024-07-17 10:20:29 281

原创 Java String format 字符、数字、浮点数、符号等使用案例

Java中的方法允许你使用特定的格式化字符串来创建新的格式化字符串。这种方法非常灵活,可以用于控制数字、日期等的显示方式。下面是一些使用。

2024-07-02 14:31:54 290

原创 我的创作纪念日 第四年 我在人间遭罪,也在人间享乐

从老厂到新厂,从大厂到一线大厂,基本所有都各有各的问题,截止目前为止还没有见过十全十美没有任何问题的企业和公司,不论大小,还是超一线大厂都存在各自的问题,只不过问题不一样而已。技术方面的提升速度还是放慢了,只有眼界和思想还在成长。接触到的人也更多了,人分三六九等不是白说的,哪怕是在超一线的大厂也存在很差劲的人。

2024-07-01 12:52:24 298

原创 SchedulerLock LockProvider参数配置表,列,大小写等 分布式锁 定时任务锁 学习总结

如果未指定此选项,则将使用来自应用程序服务器的时钟(应用程序服务器上的时钟可能不同步,从而导致各种锁定问题)。如果是分布式任务,即多个相同的应用执行定时任务,那么为了防止重复执行可以使用其他分布式锁做内部判断或其他形式的锁机制来防止重复执行。JdbcTemplate 方式,即通过配置一张数据库表 为此提供锁的服务,官方提供的表建表语句,如果需要其他的可以额外加入。lockprovider 依赖,下面会说到,但根据选择不同的锁方式,依赖其实也不同,如果是其他方式请改为其他依赖。如果任务花费的时间超过。

2024-06-26 18:32:32 1046

原创 Mybatis (plus 也适用)原生直接执行某句SQL

想要不论传入什么sql 都能直接执行。

2024-06-18 15:44:14 818

原创 Idea jdk配置的地方 启动时指定切换的地方

管理添加或删除的地方,增加后,可以在在上面切换。项目sdk 所在位置。

2024-06-14 17:01:34 448

原创 Problematic frame Failed to write core dump. Minidumps are not enabled by default on client versions

Problematic frame:# C [sigar-amd64-winnt.dll+0x14ed4]Failed to write core dump. Minidumps are not enabled by default on client versions of Windows找了很多类似的问题,终于是找到具体要怎么处理这一类问题。

2024-06-14 14:41:18 674

原创 java: No property named “XXXX“ exists in source parameter(s).

不使用 lombok ,手动生成 getter setter,或调整pom中lombok依赖位置 放到 mapstruct前面 (pom引入的前后顺序)Mapstruct build时提示某些字段不存在,但是实际上实体是存在的,但依旧报错。定义的类使用了 lombok 但是 lombok 的依赖顺序迟于 mapstruct。导致编译的时候 getter setter 没有生成所有没有获取到。

2024-06-11 17:30:23 467

原创 java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.in

build时显示错误。java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.java:180)

2024-06-11 17:05:08 284

原创 Mybatis-plus 更新或新增时设置某些字段值为空

指定 updateStrategy = FieldStrategy.IGNORED 后会忽略该字段的空值判断,从而达到更新null的效果。通过这种方式会指定更新时该字段的策略,通常情况下updateById这种会根据字段更新,通常都会判断null 以及空值。通过updateWrapper 更新,需要手动set 字段等于 null 或 空串,以此来达到目的。通过自定义 sql,或使用原始 xml 来完成,或通过注解 都是手动写更新的语句。(一旦启用,所有通过实体更新的动作都会变化)

2024-05-31 17:11:03 1330

原创 Kafka消息丢失处理方式,消息丢失与消费失败区别和分别的处理

Kafka 消息丢失的处理方式可以从生产者、Broker 和消费者三个角度来考虑,以确保消息的可靠传递。

2024-05-24 11:42:36 830

原创 JavaWeb 什么是缓存击穿,缓存击穿的解决方案学习总结

缓存击穿在JavaWeb应用中是一个常见的问题,它特指在一个高并发的场景下,如果一个缓存键的生命周期结束(即缓存过期)并且这个键对应的数据在数据库中也不存在或者访问量极高,那么大量的并发请求会因为无法在缓存中找到数据而直接穿透到后端数据库,从而对数据库造成极大的压力,可能导致数据库连接耗尽、响应变慢甚至服务崩溃。

2024-05-24 11:28:31 1036

原创 Java 三种主流的消息中间件 RabbitMQ、Kafka 和 RocketMQ 特点以及适用,使用场景 学习总结

RabbitMQ特点基于AMQP(Advanced Message Queuing Protocol)协议,这是一个开放的标准,支持多种语言客户端。支持复杂的消息路由功能,如Direct, Topic, Fanout, Headers交换机类型,能够满足不同的消息分发需求。提供高可用性配置,支持集群部署以保证消息不丢失。社区活跃,文档丰富,易于上手。适用场景当你需要一个功能全面、灵活的消息路由机制,并且对消息的可靠性要求较高时,RabbitMQ是一个好选择。

2024-05-24 10:31:07 2055

原创 调用方返回文件流,获取文件流 inputstream 并转换为MultipartFile 或一般文件输出流下载,案例 inputstream 转 byte[]

然而,如果你的应用程序不需要直接与Spring的文件上传功能集成,直接处理原始的输入流并将其保存到文件系统或其他存储服务上可能更为直接有效。通常用于处理HTTP请求中的文件上传部分,而并非直接用于处理HTTP响应中的文件流。实例,并在一个try-with-resources块中使用它,确保即使发生异常也能正确关闭输出流。的行为,以便在后续操作中使用它,比如通过Spring框架的文件处理机制进行处理。以下是一个简化的示例,展示如何将获取的输入流包装成一个模拟的。的内容到缓冲区,并将缓冲区的内容写入。

2024-05-23 16:49:42 1683

原创 ScheduledThreadPoolExecutor 周期性执行任务的线程池作用,基本使用,使用场景

是Java并发编程中一个非常实用的类,它是包下的一个线程池实现,专为定时或周期性任务执行而设计。它提供了灵活且强大的定时任务调度功能,相比传统的Timer类,它具备更好的并发控制能力和错误处理机制。

2024-05-23 16:34:49 556

原创 将字符串内容写入多个文件并加入到zip文件中输出,以及zip输出到 HttpServletResponse

下面是一个简单的示例代码,演示了如何遍历一个字符串集合,为每个字符串创建一个.sql文件,然后将这些文件打包成一个zip文件并导出。请确保在运行此代码之前,您的项目已经正确设置了文件读写权限,并且理解这只是一个基础示例,实际应用中可能需要更复杂的错误处理逻辑。请注意,这个示例假设您已经有了一个包含字符串的集合,以及一个合适的方法来处理文件路径和权限问题。)时,它会生成一个包含单个字符串条目的ZIP文件,并通过HTTP响应发送给客户端,触发文件下载。可以使用Java的IO和Zip相关的API来完成。

2024-05-20 17:25:01 315

原创 postman 请求上传文件,post请求携带文件,以及对应postMapping 处接收写法

此时 外面的file 也是被赋值了的,当然 上面postman 还是没有变化的 还是一个表单。当然 同时在定义的类外面写也可以获取到 例如。先要修改content-type。不要带 @RequestBody。不要带 @RequestBody。不要带 @RequestBody。是的,这样就可以拿到。

2024-05-15 15:58:15 1072

原创 Mybatis plus 三种分页方式,可以兼容pagehelper

mybatis-plus 的三种分页方式

2024-05-11 10:09:01 739

原创 让大模型返回更准确的结果 提示词工程 Prompt Engineering

最核心的写一条好prompt的原则就是尽可能清晰、明确地表达你的需求(类比组长向组员提工作要求)。细分下来,具体原则包括:●清晰的指令:足够清晰明确地说明你希望模型为你返回什么,最后更加细致地说明需求,避免模糊表达。●提供上下文和例子:给出较为充分的上下文信息,让模型更好地理解相关背景。如果能够提供示例,模型能表现更好(类似传统LLM中的in-context learning)。●善用符号和语法:使用清晰的标点符号,标题,标记有助于转达意图,并使输出更加容易被解析●让模型一步一步地思考。

2024-05-07 09:21:04 2620 1

原创 Java jstat 基本使用 gc 查看,jstat -gcutil等

jstat(Java Statistics Monitoring Tool)是JDK自带的一个命令行工具,用于监视Java虚拟机(JVM)的各种运行时性能统计信息,如垃圾收集、内存使用情况等。它允许用户无需附加到目标Java进程中,即可查看诸如堆内存、方法区、垃圾收集器活动等详细统计数据。这对于分析Java应用的性能问题和调优特别有帮助。使用jstat时,你可以指定不同的选项来查看不同类型的统计信息。

2024-04-30 17:13:01 1410 2

原创 获取Java 虚拟机进程ID(java应用进程Id的方法) Linux & windows

这个命令会列出所有包含"java"的进程信息。从中你可以找到你的Java应用对应的进程行,第一列就是进程ID(PID)。这个命令会列出所有包含"java"的进程信息。在输出的信息中,你可以找到Java进程及其PID。替换为你的Java主类名或jar文件名的部分匹配字符串,pgrep会直接返回对应的进程ID。如果你需要在Java程序内部获取其自身的进程ID,可以使用。这段代码会打印出当前运行Java程序的进程ID。

2024-04-30 17:02:38 1357

原创 Java jstack线程分析工具的使用,jps 使用等

jstack是一个强大的命令行工具,用于分析 Java 应用程序的线程堆栈信息。下面是使用jstack。

2024-04-30 16:40:35 1021 1

原创 Linux 指令lsblk 作用,以及查看cpu使用情况和磁盘IO iostat指令详解

(列表块设备)命令是一个非常实用的工具,用于显示所有可用的块设备信息,如硬盘、USB驱动器、SD卡以及它们的分区。这个命令以易于理解的树状结构展示这些信息,清晰地表明了设备间的层次关系和依赖性。是一个用于监控Linux系统中CPU使用情况和磁盘I/O统计信息的命令行工具,它是sysstat包的一部分。行中的数据,你可以大致了解系统的CPU资源是如何被分配和使用的,进而判断是否存在CPU瓶颈或者I/O等待等问题。可以帮助识别系统中的I/O瓶颈,监控磁盘活动,并据此进行性能调优或问题诊断。在Linux系统中,

2024-04-30 14:35:27 1446 2

原创 Linux 查看主机内存,CPU使用率的两种推荐指令top ,free 指令解读

指令是 Linux 系统中一个实时显示系统状态的动态视图工具,主要用于监控系统的整体运行状态,包括CPU使用率、内存使用情况、运行中的进程信息等。命令是 Linux 系统中用来显示系统内存使用情况的一个常用工具,包括物理内存、虚拟内存(swap)以及其他相关信息。这将提供包括所有可用选项和每个选项详细说明在内的完整文档,有助于更深入地理解系统内存使用情况。命令还支持更多高级功能和自定义设置,通过阅读其内置的帮助文档或 manual 页面 (命令后,你可以快速查看到关于系统内存的概览。

2024-04-30 14:08:34 2021 1

原创 网络乱序是什么?乱序会造成什么?乱序会出现什么问题?如何解决?

主机内网络乱序,通常指的是在网络通信过程中,数据包到达接收端的顺序与发送端发出的顺序不一致。这种现象主要发生在传输层以下,尤其是在网络层(IP层)和数据链路层。

2024-04-30 13:55:09 1053 1

原创 Linux 查看所有进程 ps -ef 命令详解, 查看网络链接信息 netstat -tuplan 命令详解

命令会列出所有TCP和UDP的连接信息,包括监听中的端口,并且会显示每个连接或监听对应的进程ID和进程名称,所有IP地址和端口都以数字形式展现,以便于快速查看和分析系统的网络连接状况。是一个用来查看系统中所有进程详细信息的命令。命令时,将会看到一个列表,其中包含了系统中每一个进程的详细信息,这对于诊断系统问题、查找特定进程或者监控系统状态非常有帮助。:显示所有活动的TCP连接、UDP连接以及监听的端口(也就是既包括连接中的也包括等待连接的)。此命令的输出通常会非常多,如果你想要查找特定的进程,可以结合。

2024-04-30 11:42:57 954 1

原创 spring restTemplate的使用和学习总结

在 Spring 内,是一个非常方便的 HTTP 客户端。虽然在 Spring 5 中WebClient是推荐的替代方法用于进行异步请求,但依然被广泛使用于同步请求场景。以下是一些使用的基础用法示例。

2024-04-29 17:16:54 814

原创 JavaWeb 通用的直接从 ServletRequestAttributes 中获取Request以及Response和Session

其他Controller 可以通过继承该 基础 controller 来直接内部调用封装后的方法来直接获取请求的一些属性。定义通用基础 controller 一些需要直接从请求中获取的公共属性或内容。

2024-04-29 16:52:01 460

原创 Java 使用Socket测试某一地址和端口是否通

用于测试某些地址是否可以链接成功,或发送消息成功。

2024-04-29 14:08:23 370 1

原创 python virtualenv 创建虚拟环境指定python版本,pip 从指定地址下载某个包

这里的venv 为创建这个环境的文件夹名,个人在 windows 上一边就成功了,当然python 本身也提供了代码创建 使用 venv 这个模块。不用了 那么直接删除上面的文件夹即可,但要注意将要删除的虚拟环境必须是处于关闭状态 即执行过上面的 deactivate。可以参考如下,只是没有创建软链接,需要手动创建一下。如果下载过慢可以从国内链接下载 如下从阿里云下载。如果是在linux 上,执行创建报错了,找不到。是python3 的话 换成 pip3。

2024-04-28 14:29:43 1884 1

原创 python安装或编译出现报错 zipimport.ZipImportError: can‘t decompress data; zlib not available

Modules/Setup.dist (或者 Modules/Setup) 文件。本地环境缺失 zlib ,需要手动再安装一下。到这里一般就成功了(如果还有问题再继续向下看)

2024-04-28 14:08:02 551 1

原创 Linux已安装virtualenv 但还是报 bash: virtualenv: command not found 错误原因及解决

在 linux 上已经安装了python和 virtualenv ,但是直接执行 virtualenv 相关的指令创建虚拟环境还是失败并且报错 bash: virtualenv: command not found。find 后的/user/local为指定的查找路径,可以自行替换 ,会出现很多结果列表 仔细辨认,正确的那一个最后只有 virtualenv 这一个名 没有其他前后缀。最后一段基本是固定的 第一段路径为我们找到的路径。

2024-04-26 16:44:25 1148 1

原创 Python pip 或 pip3指定下载

直接使用 == 完成指定, == 后面即为要指定的版本号。

2024-04-26 13:44:20 1068 1

原创 Windows 本地直接使用 SSH,SFTP 以及 SFTP下载文件到 Windows/mac 本地或上传(没有客户端时)

下载 将 服务器上 /data/test123.txt 文件下载到 windows的d盘根路径下,如果是 mac 则更简单换成 / 路径即可。先通过上面的方式已经访问成功后可以通过以下命令将文件下载到自己的 某个盘上,或者某个目录。1.win(windows图标那个键) + r 直接搜 然后从打开的位置运行。如果是打开 sftp 前面的 ssh 换一下成sftp 就行。当然 scp 也可以使用 但也需要加上 -r 参数。将本地文件上传上去则是put 如下。

2024-04-25 13:45:41 3944 3

原创 spring DisposableBean作用,在spring Bean销毁时的钩子 以及@PreDestroy

在Spring框架中,DisposableBean是一个接口,它定义了一个单一的方法,用于在Spring容器关闭时或一个由Spring管理的Bean不再需要时执行特定的清理操作。DisposableBean接口在Spring框架中用于定义Bean的销毁逻辑,允许开发者在Bean生命周期结束时执行必要的资源释放、清理工作,以保证应用程序的健壮性和系统资源的有效管理。在Spring的XML配置文件中,可以直接为某个元素指定一个destroy-method属性,其值为Bean类中需要在销毁时调用的方法名。

2024-04-24 16:48:26 970

原创 python 字符串格式化 format 不定长变长多个变量,获取exec 中结果的方式

的方式展示出来的,而参数存放在其他地方,导致我想要还原每一句 sql 原语句时需要将参数通过 format 的方式分别重新塞到sql中 然后输出。格式化自然使用 format 一类的,但是参数的个数不是确定的,这样说明我的 format 部分代码需要动态生成才行,而要生成并执行动态的代码,我想到的是使用 exec() 即我将要执行的语句通过字符串拼接出来,然后使用 exec 执行这一部分代码。自此,format 不定长变长多个变量,获取exec 中结果的方式 已结束。

2024-04-23 09:46:41 195

kingbase8-8.2.0.jar

kingbase8人大金仓驱动jar包,也可以到官网去找

2021-04-10

空空如也

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

TA关注的人

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