自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秃了也弱了

私人博客,有需要请联系17854238061(vx同号)

  • 博客(815)
  • 收藏
  • 关注

原创 Linux运维、Windows运维常用命令,保存起来当手册用

Linux运维、Windows运维常用命令,保存起来当手册用。

2024-08-21 11:00:26 824 1

原创 docker使用及基础常用命令,保存起来当手册用,containerd常用命令

很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.,容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。有些容器必须要以前台交互式模式运行,而有些容器不需要比如说redis、mysql,后台守护式运行之后,redis就会在容器中启动,并不会退出。attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

2023-04-07 17:40:19 1016

原创 Kubernetes(k8s)使用及操作文档

https://kubernetes.io/zh/docs/reference/kubectl/overview/https://kubernetes.io/zh/docs/reference/kubectl/overview/#%E8%B5%84%E6%BA%90%E7%B1%B B%E5%9E%8Bhttps://kubernetes.io/zh/docs/reference/kubectl/overview/#%E6%A0%BC%E5%BC%8F%E5%8C%9 6%E8%BE%93%E5%87%BA

2022-07-10 21:11:52 1655

原创 nginx安装与配置详解

目录一、安装Nginx:二、使用Nginx:简单与单台Tomcat整合三、详细使用(nginx就是去配置其文件而已),如下所示:一、安装Nginx:1 : wget下载: http://nginx.org/download/nginx-1.4.2.tar.gz2 : 进行安装: tar -zxvf nginx-1.6.2.tar.gz3 : 下载锁需要的依赖库文件: yum install pcre yum install pcre-dev...

2021-02-18 09:15:21 6571 12

原创 mysql常用操作汇总大全

1.本地登录MySQL命令://root是用户名,输入这条命令按回车键后系统会提示你输入密码2.指定端口号登录MySQL数据库将以上命令:mysql-uroot-p改为6即可,注意指定端口的字母P为大写,而标识密码的p为小写。MySQL默认端口号为33063.指定IP地址和端口号登录MySQL数据库命令格式为:mysql-hip-uroot-p-P3306例如:mysql-h127.0.0.1-uroot-p-P3306。

2020-12-17 17:33:47 2592 1

原创 elasticSearch之java客户端详细使用:文档通过ID操作基本API

对目标文档(由 routing 或文档 ID 定位到的主分片),随机选择该主分片或其所有副本分片之一执行查询,且会在多个请求间做「轮询负载均衡」,避免单个分片 / 节点过载。只有当集群中至少有这么多分片(主分片+副本分片)处于活跃状态时,才会执行写操作;,强制文档存储到 / 查询时定位到「唯一的主分片」—— 简单说,就是给文档分配一个 “分片定位标识”,让 ES 不用默认逻辑,而是按你指定的规则找主分片。只会在「主分片 3」和「它的副本分片」中找本地节点的分片,不会去其他主分片(如主分片 4)的节点。

2025-11-08 13:58:35 875

原创 elasticSearch之API:建议器(suggest)

ES建议器本质是通过“预计算”或“实时相似度匹配”,在用户输入过程中(或输入后)提供优化建议,解决两大核心问题:输入效率:通过自动补全减少用户输入量(如搜索框实时联想)。输入准确性:通过拼写纠错修正用户的错误输入(如“appel”修正为“apple”)。所有建议器均通过ES的_searchAPI中的suggest字段触发,不影响主查询结果,仅返回建议内容。核心作用:针对“实时前缀补全”设计,比如搜索框输入“iph”时,实时返回“iphone”“iphone 15”等结果,速度极快(毫秒级)。

2025-10-28 19:39:01 1026

原创 elasticSearch之API:Ingest Pipeline & Painless Script

Pipeline ——管道会对通过的数据(文档),按照顺序进行加工Processor——Elasticsearch 对一些加工的行为进行了抽象包装Elasticsearch 有很多内置的Processors,也支持通过插件的方式,实现自己的Processor一些内置的ProcessorsSplit Processor : 将给定字段值分成一个数组Remove / Rename Processor :移除一个重命名字段Append : 为商品增加一个新的标签。

2025-10-28 15:57:38 911

原创 elasticSearch之API:索引操作

Lucene 实现的倒排索引,一旦生成后,就不允许修改如果希望改变字段类型,可以利用 reindex API,重建索引原因:如果修改了字段的数据类型,会导致已被索引的数据无法被搜索但是如果是增加新的字段,就不会有这样的影响。

2025-10-28 15:43:00 1375

转载 Elasticsearch 入门教程

目录一、安装二、基本概念2.1 Node 与 Cluster2.2 Index2.3 Document2.4 Type三、新建和删除 Index四、中文分词设置五、数据操作5.1 新增记录5.2 查看记录5.3 删除记录5.4 更新记录六、数据查询6.1 返回所有记录6.2 全文搜索6.3 逻辑运算七、参考链接全文搜索属于最常见的需求,开源的Elasticsearch(以下简称 Elastic)是目前全文搜索引擎的首选。它可..

2025-10-28 15:21:36 4223

原创 Elasticsearch并发更新冲突问题与解决

当多个线程并发更新同一文档时,第一个线程更新成功后版本会递增,后续线程的更新请求会发现版本不匹配(本地版本 < 服务器当前版本),从而抛出。服务器重试的是“更新操作”本身,若更新逻辑依赖客户端本地计算(如基于旧值累加),可能导致错误(因为服务器无法获取客户端的计算逻辑);,将更新逻辑(如累加、字段合并)放在服务器端脚本中执行,避免客户端“先查询再更新”的窗口期,从根源减少冲突概率。

2025-10-25 14:53:47 785

原创 ElasticSearch索引分片,一文讲透索引分片的好处与坑

集群是由多个节点(Node)组成的集合,这些节点通过相同的(默认)识别并加入同一集群。作用:存储海量数据(单节点容量有限,集群可通过增加节点扩展存储);提供高可用(单个节点故障,其他节点可接管服务);分担压力(查询请求可分散到多个节点处理)。核心角色:主节点(Master Node):负责集群元数据管理(如索引创建、分片分配),不处理数据读写(默认所有节点可竞选主节点,可通过配置限制);数据节点(Data Node):存储数据分片,处理数据读写请求;

2025-10-25 14:09:19 761

原创 Spring配置文件处理工具类:PropertyPlaceholderHelper、PropertiesLoaderUtils、YamlPropertiesFactoryBean

专门用于解析字符串中的${key}风格占位符,支持默认值(如),是 Spring 处理配置占位符的底层工具。若需频繁解析大量字符串,建议复用 PropertyPlaceholderHelper 实例(其内部无状态,线程安全)。// 1. 自定义占位符为 #{...},默认值分隔符 :// 2. 准备值(不包含 city)// 3. 待替换的字符串(包含默认值)// 4. 执行替换(city 未定义,使用默认值 Beijing)

2025-10-25 00:30:00 809

原创 SpringAOP常用工具类:AopProxyUtils、AopContext、AopUtils

是一个核心工具类,主要用于简化 AOP 代理对象的相关操作(如判断代理类型、获取原始目标对象等)。它位于包下,提供了一系列静态方法,帮助开发者在处理代理对象时更便捷地获取底层信息。常用于:判断一个对象是否是 AOP 代理;区分代理类型(JDK 动态代理还是 CGLIB 代理);从代理对象中获取原始目标对象或目标类。AopUtils。

2025-10-24 01:00:00 1016

原创 Spring中常用的反射工具类:ReflectionUtils、ClassUtils、ResolvableType、MethodInvoker

是 Spring 框架中用于简化反射调用方法的工具类,它封装了方法调用的完整流程(包括方法查找、参数匹配、权限处理、异常转换等),避免开发者手动处理反射操作的繁琐细节(如Method对象获取、处理等)。通过查找方法(需处理方法不存在、参数不匹配等问题);调用突破访问权限(如私有方法);调用执行方法(需处理等受检异常)。对上述流程进行了封装,开发者只需配置目标类/对象、方法名、参数,即可通过简单的 API 完成调用,且将反射相关的受检异常转换为非受检异常子类),简化异常处理。

2025-10-24 00:30:00 1107

原创 BeanWrapper以及BeanWrapperImpl:Spring中处理Bean核心

BeanWrapper是对Bean的包装,其接口中所定义的功能很简单包括设置获取被包装的对象,获取被包装bean的属性描述器。BeanWrapper大部分情况下是在spring ioc内部进行使用,通过BeanWrapper,spring ioc容器可以用统一的方式来访问bean的属性。用户很少需要直接使用BeanWrapper进行编程。BeanWrapper主要用于便捷地操作 JavaBean 的属性(如获取 / 设置属性值、处理嵌套属性、类型转换等)。

2025-10-23 00:45:00 990

原创 BeanUtils:spring-beans模块中处理对象工具类

Spring中的BeanUtils,主要提供一些静态方便方法:用于实例化bean、检查bean属性类型、复制bean属性等。

2025-10-22 00:45:00 766

原创 caddy:更轻量简介的代理工具,可替换nginx,支持自动https证书续期

网上说的是,配置比nginx更简洁一些(虽然没啥卵用),但是让人眼前一亮的是可以自动续期https证书。没啥卵用,自动https或许有点用?能省运维的事了,但是真有人在生产环境用这个吗?小系统或许可以用一下吧。

2025-10-22 00:15:00 299

原创 charles:安卓手机抓包,安卓手机APP抓包工具

下载地址:https://www.charlesproxy.com/download/latest-release/按需下载安装即可,如果msi打不开,下载appx也是可以的:随便输入用户名即可,然后打开软件,【help】-【register】https://www.zzzmode.com/mytools/charles/点击【下一步】 - 再点击【确定】即可:记住。WLAN进入网络详情 或WLAN高级设置 或长按次WLAN网络——进行设置代理设置,选择【手动】 输入自

2025-09-28 00:30:00 878

原创 VScode(Visual Studio Code)常用配置大全(持续更新)

编辑jdk目录,保存之后【重启vscode】打开【设置】,搜索【java.home】

2025-09-24 23:15:00 804

原创 JDK21:【ScopedValue】更高效安全的线程上下文共享,ThreadLocal 不香了~

ScopedValue是基于结构化并发理念在JDK20中被孵化的一个功能。在Java并发编程中,线程上下文传递一直是核心挑战。传统的ThreadLocal虽然解决了线程隔离问题,但其内存泄漏风险和性能瓶颈(约15ns/访问)严重限制了高并发场景的应用。JDK 21引入的通过作用域绑定、不可变性和零内存泄漏的特性,彻底颠覆了线程数据共享的范式。感觉没什么太大的作用。。。最大的作用可能就是用于虚拟线程?但是不能随便设置值有啥用啊0.0。

2025-09-24 00:30:00 920

原创 curl命令:开发、测试、调试神级命令,可以用于多种场合

在指定请求右键-复制cURL(bash是linux的),就可以直接复制命令。在保存的接口中,也可以直接复制curl!,就可以将cURL命令,直接粘贴!新建 - 接口/快捷请求。

2025-09-20 00:15:00 425

原创 idea常用设置大全(持续更新)

【代码】idea常用设置大全(持续更新)

2025-09-16 01:00:00 270

原创 RocketMQ常用工具、运维、踩坑记录大全(持续更新)

(3)控制台操作:登录 RocketMQ 控制台(如 RocketMQ-Console),找到目标 Topic 和消费组,在「消费进度」模块中,手动将偏移量重置为「最大偏移量」。RocketMQ 中新建消费组时,若未指定消费位置,默认从 Topic 的最小偏移量(Offset) 开始消费,即。(2)命令行调整:若消费组已创建,可通过 RocketMQ 命令行工具。在RocketMQ管控台,手动将消费组的消息重置一下偏移量即可。需在消费组初始化时,显式指定消费位置为。

2025-09-16 00:30:00 391

原创 BigDecimal:Java中处理小数精度,以及坑避免

这个算法有一定概率会存在无限循环,即无法用有限长度的二进制数表示十进制的小数,这就是精度丢失问题产生的原因。在存储的时候,float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的结果。:BigDecimal对象中的值相加,返回BigDecimal对象。:BigDecimal对象中的值相减,返回BigDecimal对象。:BigDecimal对象中的值相乘,返回BigDecimal对象。:BigDecimal对象中的值相除,返回BigDecimal对象。

2025-09-13 00:15:00 876

原创 Apache Tika:文件内容分析与提取神器

pache Tika 是一个用于文档类型检测和从各种文件格式中提取内容的库。在内部,Tika 使用现有的各种文档解析器和文档类型检测技术来检测和提取数据。使用 Tika,可以开发通用类型检测器和内容提取器,从不同类型的文档(如电子表格、文本文档、图像、PDF 甚至多媒体输入格式)中提取结构化文本和元数据。Tika 提供了一个通用 API 来解析不同的文件格式。它使用针对每种文档类型的现有专用解析器库。所有这些解析器库都封装在一个名为 解析器接口 的接口下。

2025-09-05 19:02:06 608

原创 LiteFlow:国产流程编排引擎体验

就不做过多介绍了。业务复杂可以考虑引入,但是大部分项目应该还是不必须的。LiteFlow主要还是以流程编排为主。

2025-09-03 23:15:00 1422

原创 Java开发中常用各种规则引擎、表达式引擎归集

Osworkflow是一个轻量化的流程引擎,基于状态机机制,数据库表很少,Osworkflow提供的工作流构成元素有:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)等,但不支持会签、跳转、退回、加签等这些操作,需要自己扩展开发,有一定难度,Camunda不仅带有引擎,还带有非常强大的工具,用于建模,任务管理,操作监控和用户管理,所有这些都是开源的。,容易造成误解和使用障碍。,比如表单生成器(表单引擎)、历史数据同步至其他数据源、ES等。

2025-09-03 00:15:00 1941

原创 【微服务下,服务数据join聚合】究极解决方案:认识CQRS模式

CQRS 由软件架构师Greg Young在 2000 年后正式提出并推广,其本质是对“单一职责原则”的延伸——既然“修改数据”和“查询数据”的目标、约束(如性能、一致性)完全不同,就不应强制使用同一套模型和逻辑处理。命令(Command):负责“修改数据”(创建、更新、删除,即 CRUD 中的 C/U/D),具有以下特征:目的是“改变系统状态”,而非返回数据;必须是“可执行、可验证”的(如参数校验、权限检查);通常是“幂等”的(重复执行不会产生副作用,例如用唯一 ID 标识命令);

2025-08-24 00:15:00 1086

原创 【微服务的数据一致性分发问题】究极解决方案

在微服务架构中,“数据分发”指的是当一个服务(源服务)的数据发生变更时,通过特定机制将变更信息传递给其他依赖该数据的服务(目标服务),以保证各服务间数据协同的过程。它是解决微服务“数据隔离”与“业务协同”矛盾的核心手段。在微服务架构中,数据一致性分发是指当一个服务的数据发生变更时,如何将这一变更可靠、准确地同步到依赖该数据的其他服务,确保各服务间数据最终一致的问题。由于微服务的分布式特性(独立数据库、网络不可靠、服务自治),数据一致性分发面临诸多挑战,是微服务设计中的核心难题之一。

2025-08-22 23:30:00 845

原创 Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到

Redisson最新版本,大概3.47.0,在JDK8环境下(实测JDK17也一样)会提示Netty的某些类找不到:二、解决方案1、解决方案是因为缺少 Netty 相关的 Unix 域套接字依赖包。Netty 的 Unix 域套接字支持位于独立的 包中,而 Redisson 某些功能(如对 Unix 域套接字的支持)依赖于此包。解决方法是在项目依赖中添加对应的 Netty 原生传输包。如果是 Maven 项目,可添加以下依赖:如果是 Gradle 项目,可添加:注意:,建议通过查看项目依赖树确

2025-08-20 23:30:00 576

原创 Redisson3.14.1及之后连接阿里云redis代理模式,使用分布式锁:ERR unknown command ‘WAIT‘

执行WAIT命令】),从而导致报错。源码层面的原因在于当进行加锁或者解锁操作时,redisson会判断当前集群的redis节点数是否大于0来给命令数组对象增加WAIT命令,这个是所有版本的redisson都有。目前尝试使用redisson实现分布式锁的时候出现无法执行WAIT命令(实际分布式锁命令是执行成功的,只是3.14.1及之后的redisson版本会报未知WAIT命令的错误)阿里云官方强调【暂不支持通过集群架构的Proxy节点(代理模式)执行WAIT命令,如有需要,您可以通过。

2025-08-20 23:30:00 1355 2

原创 设计模式之【快速通道模式】,享受VIP的待遇

快速通道模式是一种基于特定场景需求演化出的流程优化型设计思路:1、系统中大部分用户使用的通常只是少数的一些业务场景;系统中的大部分性能负载是由少量的代码决定的。二八效应在软件系统中的各个维度不断重复着,所以我们能找到那 20% 的决定性场景,寻找定制化方案,就能在很大程度上提升系统的性能。2、在复杂流程中为高频场景、特殊需求或性能敏感场景提供 “捷径”,避免冗余步骤,从而提升效率。这种模式在架构设计中非常常见,尤其适合需要兼顾 “通用性” 和 “高性能 / 特殊场景” 的系统。

2025-08-16 23:45:00 1067 1

原创 设计模式之【拦截器/过滤器模式】,历经八十一难才能修成正果

拦截器模式(Interceptor Pattern),是指提供一种通用的扩展机制,可以在业务操作前后提供一些切面的(Cross-Cutting)的操作。这些切面操作通常是和业务无关的,比如日志记录、性能统计、安全控制、事务处理、异常处理和编码转换等。在功能上,拦截器模式和面向切面编程(Aspect Oriented Programming,AOP)的思想很相似。拦截器模式虽然不属于23种标准设计模式,但是其应用程度也是相当广泛。

2025-08-13 23:30:00 486

原创 设计原则之【抽象层次一致性(SLAP)】,方法也分三六九等

抽象层次一致性(Single Level of Abstration Principle,SLAP),是和组合函数密切相关的一个原则。组合函数要求将一个大函数拆成多个子函数的组合,而SLAP要求函数体中的内容必须在同一个抽象层次上。如果高层次抽象和底层细节杂糅在一起,就会显得凌乱,难以理解。定义与来源。

2025-08-13 23:30:00 903

原创 WireShark:非常好用的网络抓包工具

Wireshark是使用最广泛的一款「开源抓包软件」,常用来检测网络问题、攻击溯源、或者分析底层通信机制。它使用WinPCAP作为接口,直接与网卡进行数据报文交换。捕获过滤器的菜单栏路径为Capture --> Capture Filters。用于在抓取数据包前设置。

2025-08-12 23:45:00 865 1

原创 ProxyPin:开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统

开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统您可以使用它来拦截、检查和重写HTTP(S)流量,支持Flutter应用抓包,ProxyPin基于Flutter开发,UI美观易用。核心特性手机扫码连接: 不用手动配置Wifi代理,包括配置同步。所有终端都可以互相扫码连接转发流量。域名过滤: 只拦截您所需要的流量,不拦截其他流量,避免干扰其他应用。搜索:根据关键词响应类型多种条件搜索请求脚本: 支持编写JavaScript脚本来处理请求或响应。

2025-08-12 16:39:57 3818

原创 objenesis:Java跳过构造方法初始化对象的小巧jar包

Objenesis 是一个 Java 开源库,主要作用是绕过对象的构造方法(包括私有构造方法)来创建对象实例。Java已经支持使用class.newinstance()的类动态实例化,但是必须要有一个合适的构造函数。而很多场景下类不能够用这种方式去实例化,例如:构造函数需要参数(Constructors that require arguments)有副作用的构造函数(Constructors that have side effects)

2025-08-06 00:15:00 1092

原创 Rest-Assure:Rest接口自动化测试工具

Rest-Assured 是一个专为 Java 开发的开源测试框架,主要用于简化的自动化测试。它提供了简洁、易读的 DSL(领域特定语言)风格 API,让开发者能够轻松编写和执行 API 测试用例,验证 API 的响应结果、状态码、 headers、请求参数等。

2025-08-05 14:32:47 340

原创 javapoet:优雅的方式生成Java代码

JavaPoet 是一个用于生成 .java 源文件的 Java API。如果想用最新的Java特性,最好还是用新版本。最新版的javapoet最低需要JDK17,如果是低版本JDK可以考虑使用低版本的javapoet。</</</</

2025-08-05 10:50:16 1355

sw自动化处理程序在这

sw自动化处理

2024-07-30

Drools实战资料,配合文档使用

Drools实战资料

2023-11-22

Drools的WorkBench资料

Drools的WorkBench资料

2023-11-22

Tesseract OCR简体中文语言包

Tesseract OCR简体中文语言包

2023-09-13

谷歌浏览器xpath-helper

谷歌浏览器xpath-helper

2023-09-06

centos7下kubectl&minikube

centos7下kubectl&minikube,kubectl:1.16.2版本minikube:1.5.2版本

2023-07-03

minikube.exe,windows版本1.5.2

minikube.exe,windows版本1.5.2

2023-07-03

kubectl.exe,1.16.2版本

windows版本的kubectl.exe,1.16.2版本

2023-07-03

查找项目中的bug,快捷查找项目中的bug及代码漏洞

查找项目中的bug,快捷查找项目中的bug及代码漏洞

2023-02-17

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

TA关注的人

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