自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1677)
  • 资源 (17)
  • 收藏
  • 关注

原创 Mybatis拦截器与动态SQL结合

MyBatis。这些插件可以用来实现多种功能,例如性能监控、事务处理、安全控制等。Executor介绍说明:Executor拦截器主要用于拦截数据库的执行器,它负责执行MyBatis的SQL语句。作用:Executor拦截器可以拦截执行器的update(写操作)和query(读操作)方法,使你能够在执行SQL语句前后注入自定义逻辑。使用场景: 适用于需要在数据库写入或读取操作前后执行额外逻辑的情况,比如日志记录、性能监控等。介绍说明:拦截器主要用于拦截SQL语句的处理,包括SQL。

2025-06-20 09:52:29 172

原创 MyBatis-Plus中联表查询用法

MyBatisPlus并不直接支持,但是可以使用mybatisplusjoin库。在Mybatis中,我们最常用的方法是手写sql,像下面这样的标准join语句。

2025-06-20 09:39:51 54

原创 Redis的大key和热key如何解决

字符串类型(String):单个Key的Value特别大,一般认为在普通业务场景下,如果单个String类型的value大于1MB,或者在高并发低延迟场景中大于10KB,就可能被视为大Key集合数据类型:如Hash、Set、ZSet、List等,其中的元素数量过多或总体数据量过大。例如,一个Hash类型Key的成员数量虽只有1000个,但这些成员的Value总大小达到100MB,或者一个ZSet类型的Key成员数量达到10000个内存占用过高。

2025-06-20 07:51:14 604

原创 Netty 是如何解决半包和粘包问题

半包问题是指一个完整的应用层消息被分成多个 TCP 数据包发送,接收端在一次读取操作中只接收到消息的一部分。例如,发送端发送了一条 100 字节的消息,但由于网络原因,这条消息被拆分成了两个 TCP 数据包,一个 60 字节,另一个 40 字节。接收端可能在第一次读取时只接收到前 60 字节的数据,剩下的 40 字节需要在后续的读取操作中才能接收到。基于换行符解码器和自定义分隔符解码器(比如 特殊字符)来划分消息边界,从而解决半包和粘包问题,使用者可以根据自己的需求灵活确定分隔符。

2025-06-19 16:59:28 513

原创 MyBatis-Plus中使用Wrapper构建动态SQL查询条件

【代码】MyBatis-Plus中使用动态SQL构建动态查询条件。

2025-06-19 11:28:04 560

原创 Spring 中拦截器(Interceptor)与过滤器(Filter)的区别

是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。③拦截器只能对action(也就是controller)请求起作用,而过滤器则可以对几乎所有的请求起作用,并且可以对请求的资源进行起作用,但是缺点是一个过滤器实例只能在容器初始化时调用一次。的反射机制的,而过滤器是基于函数回调。

2025-05-29 17:16:23 233

原创 代码同时提交到GitHub和Gitee

同步推送到github和gitee。添加两个远程仓库地址。

2025-05-29 14:38:34 152

转载 阿里的一款数据高效同步工具DataX

DataX 是阿里云 DataWorks 数据集成 的开源版本,

2025-05-24 21:14:18 58

转载 数据实时同步:inotify + rsync 实现数据实时同步

rsync 常用于作为 linux系统下的数据镜像备份工具,实现远程同步,支持本地复制,或者与其他SSH、rsync主机同步数据,支持增量备份,配合任务计划,rsync能实现定时或间隔同步,配合 inotify 或 sersync,可以实现触发式的实时数据同步。前两者的本质是通过本地或远程shell,而第3种方式则是让远程主机上运行 rsyncd 服务,使其监听在一个端口上,等待客户端的连接,此种方式使用的 rsync 的专有协议。inotify 是内核中的功能,在2.6.13版本的内核开始都默认存在。

2025-05-24 18:29:14 74

原创 kafka、activemq、rabbitmq、rocketmq对比

2025-05-24 15:59:29 295

转载 JVM参数调优

XX:+UseStringDeduplication -XX:+DisableExplicitGC #其他优化。-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1g #元空间配置。-Xloggc:/logs/gc.log -XX:+PrintGCDetails #GC日志与监控。-XX:MetaspaceSize 和 -XX:MaxMetaspaceSize。合并重复的字符串对象,节省堆内存(适合字符串操作频繁的场景)。G1回收器(平衡型,JDK9+默认)

2025-05-22 20:16:56 37

转载 nginx实时请求监测-ngxtop

ngxtop是一个实时命令行工具,可以分析nginx访问日志,以表格形式将http请求的主要指标直观展示。ngxtop将nginx的访问请求数据实时动态展示,并支持按字段过滤请求。ubuntu环境安装,测试系统为Ubuntu 24.04.2 LTS。centos环境安装。

2025-05-22 20:06:31 27

原创 线程池线程数配置

线程数 ≈ CPU 核心数 × (1 + 任务等待时间 / 任务计算时间)CPU 密集型→ 少量线程足够;IO 密集型→ 可以设置更高;混合型任务→ 可拆分后按比例配置多个线程池。

2025-05-22 20:02:41 434

原创 java并发-Semaphore信号量

举个生活中的例子:银行总共有3个柜台办理业务,有很多人来排队,但一个柜台同时只能有一个人办理业务,也就是说最多同时只能有3个人办理业务。其他的人都要排队等待,等到有一个人办理好了,下一个人才能来办理。Semaphore是用来控制同时访问特定资源的线程数量,它通过协调各个线程,来保证合理的使用公共资源。它通过维护一组许可(permits)来限制同时访问某个资源的线程数量。以下是一个使用 Semaphore 的示例,展示如何限制同时访问某个资源的线程数量。

2025-05-22 19:54:01 375

原创 Nginx配置记录访问信息

Nginx被广泛应用于各种场景如:Web服务器、反向代理服务器、负载均衡器、Web应用防火墙(WAF)等在实际的产品开发中,无论是功能测试或访问行为审计,都需要详细记录每一次访问行为。

2025-05-20 21:10:09 461

原创 Spring Boot 使用 jasypt配置明文密码加密

配置方式:ENC(加密串)

2025-05-20 21:01:58 521

原创 vi实时查看日志

按 Ctrl+C 停止 tail -f,然后按 Enter 返回 vim。可以在 vim 中看到实时日志,但无法直接编辑。如果只是查看日志而不需要编辑,less 更适合。在 vim 中执行 tail -f。​​在 vim 中打开日志文件​​。用 watch 定期刷新日志​​。重新加载文件以获取最新内容。将日志内容导入 vim​​。-n 1 表示每秒刷新一次。按 :e 手动刷新文件内容。

2025-05-19 21:08:57 287

原创 ​​麒麟系统(Kylin OS)​​ 忘记开机密码解决

不同机型按键可能不同,可尝试多次。一 进入安全模式(救援模式)passwd 用户名。

2025-04-12 09:34:16 6798

原创 git从历史版本创建新分支或标签

git从某个分支的指定历史版本中创建新分支。git从某个历史版本创建标签。

2025-04-03 20:54:21 324

原创 Windows 11 中搜索服务索引文件大处理

是 Windows 11 中搜索服务索引的数据库文件,用于存储文件、邮件等内容的索引信息,以提供快速搜索结果。如果磁盘空间非常紧张,且不经常使用系统搜索功能,可以采用此方法,但不建议长期使用,因为会失去快速搜索能力。这是较为推荐的方法,能有效减小文件大小,同时保留搜索功能。暂时禁用 Windows 搜索服务并删除文件。文件或重要数据,以防操作失误导致数据丢失。在进行上述操作前,建议先备份。

2025-03-30 11:28:08 598

原创 java获取Jvm信息

通过ManagementFactory获取MemoryMXBean。Jvm信息使用ManagementFactory去获取。OS运行信息推荐使用oshi去获取。使用Runtime对象去获取。获取系统内存信息(非jvm)获取jvm运行线程信息。

2025-03-28 21:18:13 223

原创 elasticsearch重置 elastic 用户密码

使用 API 密钥重置 elastic 用户密码。

2025-03-21 17:18:45 296

原创 Linux中执行 ifconfig 命令时提示 “未找到命令”

一般情况下,安装完 net-tools 包之后,ifconfig 命令就会自动被添加到 PATH 环境变量所包含的路径中。通常是由于系统没有安装 net-tools 包,或者该命令不在系统的 PATH 环境变量所包含的路径中。在 Linux 系统里,若执行 ifconfig 命令时提示 “未找到命令”如果 /sbin 或者 /usr/sbin 不在 PATH 环境变量中。编辑 ~/.bashrc 或者 /etc/profile 文件。确认命令是否在 PATH 环境变量中。安装 net-tools 包。

2025-03-21 12:57:35 793

原创 Java部署在window启动报unable tocreate tempdir

在Windows系统中,Java应用在运行时会试图在默认的临时目录中创建文件。该临时目录通常由系统环境变量TEMP或TMP指定。如果这些变量设置不正确、指向一个无效的路径,或者操作系统的权限不足,就会导致“Unable to create tempdir”错误。还可以通过启动Java程序时指定java.io.tmpdir属性来改变临时目录。如果系统自动创建临时目录失败,我们可以手动创建目录。更改Java程序的JVM参数。

2025-03-11 20:27:24 271

原创 脚本初始化Oracle数据库

如果需要自动化执行脚本,可以将命令写入 Shell 脚本中。在执行脚本时,可以将输出重定向到日志文件,便于后续排查问题。如果脚本较短,可以将其内容粘贴到命令行中逐行执行。执行完脚本后,验证数据库对象是否创建成功。

2025-03-03 14:16:04 305

原创 WebSocket替代方案SSE实时通讯

实时通讯是常见的需求,通常使用 WebSocket 来实现这一功能,但在很多场景下,客户端只是需要从服务器接收消息,而非进行双向通讯。这导致 WebSocket 的全双工特性并没有得到充分的利用。Server-Sent Events (SSE) ,一种轻量级的方式来实现服务器向客户端推送消息的需求,同时对比 SSE、WebSocket 和传统轮询技术的优劣,选择适合的实时通讯方案。

2025-02-25 21:35:42 914

转载 SpringBoot 多租户架构,轻松驾驭复杂业务场景

最后需要实现一个租户管理的功能,以便在系统中管理不同的租户。具体来说,我们可以使用Spring Cloud的服务注册与发现组件Eureka来注册每个租户的实例,并在管理界面中进行相应的操作。私有云环境指的是由企业自行搭建的云环境,不对外提供服务,主要应用于企业内部的数据存储、管理、共享和安全控制。每个租户的服务都在注册中心以不同的应用名称进行注册,客户端可以通过服务名称来访问对应租户的服务。租户信息的维护包括添加、修改、删除、查询等操作,要求能够根据租户名称或租户ID快速查找对应的租户信息。

2025-02-25 21:29:13 90

原创 线程池10种常见坑

很多人随意配置线程池参数,比如核心线程数 10,最大线程数 100,看起来没问题,但这可能导致性能问题或资源浪费。如果线程池中的任务是阻塞的(如文件读写、网络请求),核心线程会被占满,影响性能。很多人用线程池后,不监控其状态,导致任务堆积、线程耗尽的问题被忽略。线程池中的任务抛出异常时,线程池不会直接抛出,导致很多问题被忽略。任务数远大于线程数,导致任务无限堆积在队列中,最终可能导致。这种配置在任务激增时,会创建大量线程,系统资源被耗尽。,它是无界队列,任务堆积可能会导致内存溢出。,导致程序无法正常退出。

2025-02-25 21:21:37 621

原创 MySQL常用命令

位置:FIRST(在最前),AFTER 列名(在指定列后)。

2025-02-25 21:11:15 961

原创 在Linux系统下修改Docker的默认存储路径

在Linux系统下修改Docker的默认存储路径可以通过多种方法实现,下边是通过修改daemon.json文件方式实现。使用 rsync 或 mv 命令将现有数据迁移到新目录。推荐使用 rsync 以避免数据丢失。查看当前Docker的存储路径,默认为。命令,确认存储路径已更改为新的位置。编辑daemon.json文件。查看当前Docker存储路径。停止Docker服务。重启Docker服务。

2025-02-15 14:10:07 980

原创 newgrp docker需要每次刷新问题

每次都需要运行 newgrp docker 的原因: 当用户被添加到 docker 组后,当前会话并不会立即更新组信息,因此需要通过。这样每次打开终端时,脚本会自动检查并切换到 docker 组。,可以在终端中配置一个自动刷新的脚本。切换到新的用户组以使权限生效。如果不想每次都手动运行。

2025-02-15 13:26:32 450

原创 Linux系统中搜狗输入法无法输入中文

出现 “error while loading shared libraries: libQt5QuickWidgets.so.5: cannot open shared object file: No such file or directory” 错误时,这表明系统在加载程序时找不到 libQt5QuickWidgets.so.5 这个共享库文件。在系统菜单中搜索 “Fcitx 配置”,确认搜狗输入法已添加到输入法列表中,并且顺序正确。有时输入法配置文件可能损坏,导致无法正常输入中文。

2025-02-15 11:57:53 871

原创 Docker Desktop安装kubernetes时一直在Starting:Kubernetes failed to start

由于墙的问题,导致拉取国外的K8s镜像失败。选中自己的kubernetes 版本。kubernetes运行成功。PowerShell运行。

2025-02-07 10:58:29 496

原创 python离线安装包

【Linux、mac用户】:各种Python的安装包,主要提供Linux、mac版本的后缀是".whl"或’’.tar.gz;’’。后者需要解压,前者直接安装。【windows用户】:各种Python的安装包,提供Windows版本的后缀是".whl",可以直接安装,无须解压;否则正常解压安装。

2025-02-06 10:35:31 457

原创 Dockerfile构建容器镜像

Dockerfile 是构建 Docker 镜像的核心工具,它不仅简化了镜像构建的过程,也为容器的可移植性和一致性提供了保证。在编写 Dockerfile 时,我们要考虑镜像体积、构建速度、层的优化等问题,确保最终生成的镜像符合生产环境的需求。

2025-02-04 16:29:09 1086

原创 无法将“mklink”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

这是因为 在老版本系统中可以是用mklink来创建软连接,但在最新的windows系统中若使用的是powershell则无法使用该命令,则此时需要在。命令后即可执行mklink命令。

2025-02-02 21:42:54 1019

原创 jvisualvm工具使用

jvisualvm是JDK自带的具有图形界面操作功能的JVM性能监控和诊断工具,它不仅能分析和诊断堆转储文件,在线实时监控本地JVM进程,还能监控远程服务器上的JVM进程。

2025-01-31 21:49:50 6026 1

原创 jinfo命令详解

6)修改当堆内存对象所占空间超过80%时进行扩容。4)开启堆内存溢出日志打印(默认是关闭的)命令来查看21412进程的JVM参数信息。5)设置堆内存溢出时的堆转储文件路径。2)获取新生代大小 JVM 参数值。option 有以下这些选项参数。3)开启GC打印日志。7)最后我们再来使用。

2025-01-31 21:45:17 451

原创 JVM的GC详解

我们大体可以看出GC原因是Allocation Failure即新生代不能分配对象,触发一次新生代GC,新生代GC前后空间由3348K变为512K,整堆空间由3348K变为1692K,最后输出了GC耗时、系统响应耗时以及应用程序暂停时间。执行第二行代码bytes = new byte[1024 * 1024];再次进程内存分配时,发现新生代空间不足出现以此minor gc,对应输出结果如下,首先代码执行到byte[] bytes = new byte[1024 * 1024];获取GC日志方式大抵有两种。

2025-01-31 20:46:19 1625

原创 jhat命令详解

针对服务性能问题,还需要结合具体代码进行排查,观察是否有大量应该被回收的对象一直在被引用,或者是否有占用内存特别大的对象无法被回收,通常在调优的时候这两点关注的会比较多。jhat 命令通常与 jmap 搭配使用,用来分析 jmap 生成的 dump 文件,jhat 内置了一个微型的。翻到最底部可以查询 jhat 提供的几个查询功能,部分列表信息如下。在操作系统终端输入如下命令,即可查看相关信息,部分示例如下。服务器,生成 dump 的分析结果后,可以在浏览器中查看。,可以查询快照文件分析结果。

2025-01-31 20:21:03 658

android环境搭建

下载资源,到搭建环境,到调试,每一步都有图片 傻瓜式操作!

2015-08-14

xutils简介.docx

android 开发

2021-09-18

Waterdrop使用手册

WaterdropManual_T00148x-20-010_2017-04-10.pdf

2021-09-18

GDB完全中文手册.pdf

GDB完全中文手册

2021-09-18

jre1.8.0_221.7z

jre1.8,绿色免安装,解压即用,方便便捷。无需安装。需要jre的童鞋拿走。```````````````````````

2020-09-09

中软安卓培训教程ppt

中软国际国佩教程,经典安卓培训教程,大家好好学习一下

2015-08-14

IBM_JDK_V8.rar

注意不是Oracle的jdk。是IBM_JDK_V8版本JDK。绿色免安装版。解压即用。不常见。特此留存。

2020-09-09

jdk1.7.04.rar

jdk1.7老版本,免费版。解压即用。无需安装。需要的拿走。老项目可能用的到!特在此留存!

2020-09-09

中文与Unicode码转换(十六进制).html

中文与Unicode码转换(十六进制)

2021-09-23

百度日历效果.html

百度日历效果

2021-09-23

会计科目表及说明.docx

会计科目说明

2021-09-18

jdk8u221.7z

免费版本

2020-09-09

Foxmail_7.0.rar

Foxmail_7.0

2021-09-18

sas9.4安装教程.7z

sas9.4安装教程

2021-09-18

ab并发测试及说明.rar

ab并发测试

2021-09-18

银行会计基础知识.ppt

银行会计基础知识

2021-09-18

空空如也

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

TA关注的人

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