- 博客(323)
- 资源 (18)
- 收藏
- 关注
原创 es查询是否存在某个字段
3 如果要查的子字段所在的父节点不是object,而是一个数组呢。前提是patient是一个objcet,可以涌点访问子属性。1 如果字段就是整个文档json的字段。2 如果要查询文档的字段下的子字段,需要用到nested了。
2026-04-01 11:04:19
51
原创 IOUtils.copy(inputStream, outputStream); 和 IOUtils.write(bytes[], out) 区别
都是 Apache Commons IO 库中用于数据写入的方法。
2026-03-20 10:33:01
41
原创 springboot对于@PathVariable自动解码问题
key如果包含特殊字符,必须进行urlencode,但springboot接收时会自动对key进行decode的,所以代码里无需显示的decode这个key,重复decode反而有问题。
2026-03-19 15:18:41
30
原创 spring配置文件
查看生产的配置文件,有部分在jar包内有application.properties,在jar包外的config目录下也有application.properties,哪个生效呢?所以如果jar包内和外存在相同key的配置,则jar包外的生效。:JAR 包内部类路径根目录 (:JAR 包所在目录下 (:JAR 包所在目录的。
2026-03-05 20:01:27
92
原创 使用curl持续测试接口响应时间
curl -w "\n总时间: %{time_total}s\n" -o /dev/null -s 'https://接口'# -w 参数用于输出指定的时间变量,\n 是换行符。:静默模式,不显示进度条和错误信息(如需调试可去掉。echo "--- 等待 2 秒 ---":丢弃下载的页面内容,只显示时间信息。
2026-03-04 14:03:18
28
原创 更新jar包内的第三方jar包
在jar包所在当前目录创建BOOT-INF/lib目录,将待替换的新的依赖jar包放在lib下,且保持和原有jar包一样的名字 old-lib-1.0.jar。然后执行以下命令更新jar包。:先确认一下要替换的 JAR 包在。命令将新的 JAR 包更新进去。,这就知道了目标路径。
2026-03-03 16:46:49
195
原创 关照自己的5个实用方法-看见孩子
最近通勤路上在看《看见孩子》这边电子书,其实与其说看见孩子,不如说看见自己,育儿路上需要自己的需求先得到满足,保证自己身心健康的前提下才能持续的关照家人,孩子以及其他人。自己才是一切关系的基础,如果自己没有能量,就无法把能量灌注到孩子体内。如果我们对自己没有耐心,我们就无法对孩子耐心。只有让我们的内心世界发生改变,我们才能在外部世界推动改变发生。我们与自己的关系的质量决定了我们与他人的关系的质量。书中提到五种方法,学会如何关照自己。
2026-02-28 10:36:52
617
原创 dubbo服务如何下线
有时生产发版,涉及dubbo服务的发版,都是直接部署,没有流量切换,但有些关键服务在重启过程中还是会对业务造成影响(重启的时候,消费者如果恰好调用的重启节点会导致服务不可用,但dubbo不是有重试机制么?deepSeek咨询了一下如何平滑重启,给出的方案如下,但因为测试环境都是单节点部署,生产又不敢轻易尝试,不确定是否真的可以做到平滑无影响。等待几秒钟(建议等待时间大于Dubbo的调用超时时间),确保已经发往该节点的请求能够处理完毕,同时等待注册中心的通知传遍整个系统。最后才释放端口、关闭连接,完全停止。
2026-02-26 17:49:19
176
原创 阿里云负载均衡器知多少?
负载均衡是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务器来扩展应用系统的吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。中大规模系统/网站访问流量比较大,单台服务器处理能力不足,使用多台服务器提供服务,因此需要负载均衡做流量调度,提升服务能力。对于访问量巨大的网站/系统,对流量处理调度要求很高,此时需要负载均衡的超强性能+调度算法甚至高级转发能力实现对业务的灵活调度。
2026-02-25 14:14:00
835
原创 Linux文件&目录权限
永久设置(添加到 ~/.bashrc 或 ~/.bash_profile)chmod u+x file.txt # 给所有者添加执行权限。chmod a+x file.txt # 给所有人添加执行权限。│ │││ │││ │└─ 其他用户(others)执行权限。│ │││ │└── 所属组(group)执行权限。│ │││ │││ └── 其他用户写权限。│ │││ ││└─── 其他用户读权限。umask -S # 符号方式显示。│ │││ └─── 所属组写权限。
2026-02-10 17:13:52
647
原创 Rocketmq消息消费及重试原理
如果当前重试次数未达到最大次数,则该消息变为待重试状态,经过重试间隔后,消息将重新变为已就绪状态可被重新消费。每次重试消息状态都会经过已就绪->处理中->待重试的变化,消息的重试间隔指的是上一次消费失败或超时后,距下次消息可被重新消费的间隔时间。消费逻辑的最终兜底机制,消息重试失败且超过最大重试次数,若保存死信消息功能开启,该失败消息会被投递至死信Topic。举例:某条消息的消费重试流程如上图所示,假设消息处于已就绪状态的时长为5 s,消费耗时为6 s。顺序消息:重试间隔为固定时间,具体取值,请参见。
2026-02-06 16:08:49
466
原创 Nginx日志切分
nginx日志如果不切分,会导致access.log一直很大,如果开启了debug 输出request_body日志会刷的特别快,很可能很快达到几十个G,配置低的服务器可能磁盘就100%了,接口504 game over了,所以对于nginx的access和error日志都需要做每天的日志切分,对于历史日志做定期清理。create 0640 user group # 创建新日志的权限。maxage 30 # 删除超过30天的日志。maxsize 100M # 单个日志最大100M。
2026-02-03 15:31:54
316
原创 nacos作为dubbo服务注册中心
nacos作为dubbo注册中心,代码里也配置了nacos集群地址;但发现运维重启1个节点,会导致应用还是找不到对应的dubbo服务。这是为什么?java应用报错如下:但实际上只有154节点的nacos重启了,155,156未动。java应用里dubbo配置文件:问了deepSeek说这种配置方式不是标准的集群模式配置,只会到第一个ip找服务,但和java应用报错又有出入,报错显示的是3个ip找不到provider...到底哪里出错了?集群模式配置有以下几种。
2026-01-29 14:38:00
67
原创 cname和oss自定义域名使用
用户访问:static.yourcompany.comCNAME记录:static.yourcompany.com → your-bucket.oss-cn-beijing.aliyuncs.comA记录:your-bucket.oss-cn-beijing.aliyuncs.com → 101.200.69.136。
2026-01-23 15:27:03
618
原创 select count(*) 表名 和select count(*) from 表名
原来是自己的手误,select count(*) 表名相当于把表名当成了列的别名,而select count(*)如果没有 from会返回虚拟行,一直都会返回1!mysql一次核对数据,少写了一个from,直接写成下面的sql了。结果无论哪个表都返回1,把我吓得捏了一把汗还以为数据被谁清空了。select count(*) 表名。
2026-01-21 13:53:52
77
原创 gitea基本操作
全局设置,适用于所有仓库;如果没有 --global只对当前仓库生效,一般使用邮箱注册的gitlab账号,所以设置了邮箱会自动关联账号,提交代码时会自动带上提交人的用户名git config --global user.email "你的邮箱"git config --global user.name "你的用户名"
2026-01-21 10:03:21
107
原创 DeepSeek说AI
app比如阿里下的千问,底层使用的是阿里的Qwen模型,集成了阿里的生态(淘宝,支付宝,滴滴等),一句话就能点外卖,安排出行定酒店等;除了这些便于使用的ai工具,还有专门的编程ai,如阿里的通义灵码(开源免费,使用阿里云的账号登录即可),Claude付费。这个网站汇集了各个厂家的大模型还有大模型的api文档等,有些免费的可以体验。它们是“思考”与“行动”的关系。在大型语言模型中,Token是文本的基本单位。都提供免费使用额度,是很好的入门选择。”转变,成为各行各业的效率新引擎。是两个常见的性能与容量指标。
2026-01-19 11:40:06
594
原创 Linux开机自启动systemd配置
systemd服务通过服务单元文件(.service文件)来管理。首先,你需要在或/usr/lib/systemd/system目录中创建一个新的服务文件。例如,创建一个名为的文件。
2026-01-09 17:37:00
664
原创 应用假死接口504如何定位
给出建议,下次jstack需要间隔5-10秒进行3次,进行对比,可以找出BLCOKED等待的锁到底是哪个线程持有的。业务日志停在7:39,9点多收到问题,进行了一次jstack。jstack里显示有BLOCKED的线程,对应源代码59行显示。应用接口504,应用日志停止在7:39,java进程还在。还有一个BLCOKED的是 http调用第三方接口。
2026-01-09 10:40:04
150
原创 oss命令行工具下载&安装&命令使用
/ossutil64 set-acl oss://your-bucket-name/file.txt public-read-write # 公共读写。./ossutil64 set-acl oss://your-bucket-name/file.txt public-read # 公共读。./ossutil64 set-acl oss://your-bucket-name/file.txt private # 私有。# AccessKey Secret: 你的AccessKey Secret。
2026-01-06 11:26:37
742
原创 使用阿里云oss遇到的问题
但ossclient里使用的是URI解析的(可能是阿里云自己的endpoint都是规范的URI格式,不存在下划线字符串),怎么解决呢?只能让运维修改oss的域名(测试环境的oss域名),去除下划线?uri从日志里看可以从配置文件获取到,非空,那只可能是uri.getHost()为空了?单独main方法测试如下代码,发现果然为空?项目中用到pdf签名,pdf使用到阿里云的对象存储(OSS),但使用阿里云oss客户端进行初始化。有了ai,直接源码扔过去询问,立马得到答案了。可以使用URL解析,
2026-01-06 10:12:32
226
原创 data:image/png;base64,无法正常加载
一个后端管理平台,服务接口正常返回了图片的base64(说明和字体无关,如果未安装字体,无法产生对应字体的base64图片),但前端展示时报红再看console页,显示违背了CSP原则,这是安全策略阻止了 Data URL 的加载。应用设置了 CSP 安全策略,它禁止加载来自非自身源('self')的资源。Data URL 虽然内嵌在页面中,但大多数 CSP 策略默认不允许使用协议。查看nginx的配置,果然是这样的。
2026-01-04 15:50:48
4091
原创 Spring的cacheEvict
CacheEvict(value = "users") // 使用默认/主要的 CacheManager。value = "order:list:${#userId}" // 用户订单列表。@CacheEvict(key = "#id") // 编译错误:缺少 value。value = "product:detail:${#id}" // 商品详情。value = "user:profile" // 用户资料。value = "cache1" // 无意义。
2025-12-18 11:01:35
274
原创 /etc/hosts如何配置
IP地址 完整域名 别名1 别名2 ... 别名N。必需 推荐 可选。# 多个字段用空格或制表符分隔。本地hosts优先于dns解析。
2025-12-11 16:42:34
275
原创 nginx日志轮转&定期清理
发现有些客户部署的服务nginx日志没有轮转,随着业务日志增多,有的一个log文件十几G,设置几十G,甚至磁盘直接干满了,服务504了。。所以配置日志轮转及过期日志的定期清理很有必要。以下有2种方式配置vim nginx。
2025-12-01 16:24:47
250
原创 mysql只导出表结构不包含数据
navicat客户端里的转存sql,会将数据也导出,没有看到只转存结构的地方,导出向导也是导出的包含数据,无果,最后只能依赖命令导出。--no-data只导出结构不包含数据。mysqldump -h192.168.2.10 -u用户名 -p密码。数据库名 > **.sql。
2025-12-01 14:44:58
135
原创 如何确认文件是相同的
如果再windows下可以使用 certutil -hashfile "文件名" MD5 计算。如果是linux下或者windows下安装了git bash工具,可以使用md5sum 文件名。通常我们会上传文件,但怎么知道上传的文件就是你最初的那个文件?通过文件的md5值;md5值相同就能确认是一个文件了。
2025-11-28 17:21:35
109
原创 es如果提交updatebyquery请求如何取消
本来只是update_by_query不到1w条数据,但因为将must_not用错了,导致待更新数据上千万...GET _tasks?actions=*byquery&detailed=true 找出更新任务。从响应中,你可以找到对应的任务描述(,例如上面响应中的完整任务ID就是。然后根据任务id取消,执行下面命令。怎么取消这个更新呢?
2025-11-27 16:16:14
241
commons的相关jar包
2010-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅