- 博客(225)
- 资源 (18)
- 收藏
- 关注
原创 日常踩坑-pom文件里jdbc配置问题
后来spug构建历史才发现,构建报错了,而我们运维的策略是构建报错会拉上一次生成的jar包,看不出来构建报错的明显错误。明明在配置文件指定的<jdbc.url>是新的,怎么spug构建出来的jar包里还是老的?原来jdbc里配置的&没有转义,需要转移成&
2025-05-28 15:15:42
163
原创 记一次生产事故
最后请来公司的专家团队,专家通过jstack pid分析blocked的线程,定位到一行WsClientUitl代码,随后将对应客户的这个地址下线,不再webservice调用,mq消费速度才慢慢升上去,最终消息消费完。后堆积越来越多,运维研发先考虑加机器去消费,但好像效果并不明显,期间还发现有些mq消息消费线程有阻塞,本来1秒中可以消费多条消息的线程,怎么间隔好多秒才处理?事后同事写了程序测试这个方法发现确实在会阻塞一段时间。
2025-05-26 17:11:14
178
原创 dubbo使用nacos作为注册中心配置
nacos://ip:端口?namespace=, nacos://ip:端口?namespace=namespace= 正确的!在最后一个注册服务ip加namespace即可。namespace=, ip:端口?namespace=如果有多个地址,这块如何配置呢?
2025-05-23 17:00:15
221
原创 mysql获取不到连接 哪位大神帮忙看下
排查了负载,应用,数据库服务器上的cpu和内存,磁盘资源都正常,ulimit -a查看句柄数配置也都是65535足够多了。innodb_buffer_pool_size=4G 把这个加到数据库的配置 重启服务。show variables like '%slow%' 查看慢sql相关配置。但这个单位是多少呢?是秒,一次查询10秒那够慢的了。查看慢sql日志,果然有慢sql呢。
2025-05-23 16:57:31
145
原创 linux自带的定时任务日志
crontab -e添加定时任务,定时触发一个接口的调用补偿,但定时任务的日志在哪儿呢?找了半天在/var/log下的cron文件里!
2025-05-21 16:15:35
269
原创 rocketmq连接问题
当修改代码支持新实例连接时,再部署老的服务,发现mq控制台消费者无法注册上去,说明老实例还没法用NAMESERV_ADDR连,或者用这个连的时候,之前的mq地址配置都需要修改。阿里云控制台的示例代码也是通过NAMESRV_ADDR连接的,不知道为什么之前的代码用ONSAddr连接..工作需要,新搭建一套服务,买了新的阿里云mq实例,但连接时报错了,找不到nameserv,找客服询问,说新实例必须用。但我们已有的代码用的是,也不知道这个地址从哪儿来的,和阿里云mq控制台tcp接入点地址不一样,
2025-05-20 10:12:29
238
原创 http请求卡顿
但nginx和java应用又没有错误日志,让人抓耳挠腮,最终还是请运维大哥帮忙,一顿操作后系统暂时无卡顿了,佩服的同时感觉疑惑到底调整了啥东西这么神奇?(2)cat /proc/sys/fs/file-max 系统级别的,所有进程可打开的文件描述符最大数。(1)cat /proc/sys/fs/file-nr 查看系统当前打开了多少文件描述符。# 客户端请求头读取超时。文件描述符,又叫文件句柄,linux系统里一切皆是文件,比如套接字,磁盘等各种资源。
2025-05-14 16:08:27
191
原创 java应用启动慢?
hostname命令获取本机的主机名称,然后vim /etc/hosts配置到127.0.0.1的映射下即可。看日志发现有个hostname花了将近1分钟的时间!
2025-05-07 14:23:54
110
原创 es数据导出
但这样发现导出的条数总是少一些,导出数量越多缺失的越多!到底哪里有问题呢,后来从es的kibbana命令看突然发现一个问题,es的时间是带毫秒的,而我查出来之后转成的date只到秒,所以,第一页的创建时间如果是40秒.738Z,解决办法分页查询的下一页的截止时间是上一页截止时间+1秒。整体思路:分页查询es,一页查询2000条,下一页查询的截止时间取上一页最后一条记录的创建时间(因为分页是按照创建时间逆序排列的),组装最后导出的list,利用EasyExcel导出到excel表里。有大数据量导出的需求。
2025-04-27 16:16:40
367
原创 Mongo常用命令行
db.users.find().sort({age: 1}) ----正序排列 {"age":-1} 按age字段逆序排序。mongo ***:端口号(默认27017)/库名 -u 用户名 -p 密码。db.表名.findOne();1 连接mongo数据服务器。
2025-04-27 11:04:31
109
原创 http请求报错
调用一个外网接口(客户的内网环境通过客户的网闸调用互联网接口)报的这个错误,在报错的服务器上进行curl测试这个get接口,结果又报了curl: (52) Empty reply from server。没有任何实质性报错,先反馈客户是否最近调整了出网配置什么的,待问题解决补充。使用curl -v可以打印更多的请求信息。
2025-04-21 09:08:23
194
原创 Tablespace is missing for table
最后和运维确认,删错了frm文件,我删的user/local下的,实际上3月28日进行了数据库恢复,恢复后的数据文件目录再home/下,home下有ibd没有frm,local下有frm但没ibd,不知道数据库经历了怎么个坎坷, 运维继续操作删除.idb后,创建表还是不行。从 MySQL 5.6 版本开始,推荐使用“文件-每表”模式(file-per-table mode),在这种模式下,每个表的数据和索引被存储在独立的 .ibd 文件中。这样做的好处包括更好的性能、更容易的数据恢复和更灵活的空间管理。
2025-04-16 14:05:57
334
原创 HttpClient工具 timeout没生效?
设置的3秒超时,有一个http接口最终20多秒后才响应read timed out。但实际测试时,post的超时实现和全局超时实际好像都没生效!(2)请求的线程数增多,响应时间就增多了,是和调用的接口能承载的并发量有关么?如果我用5个线程,接口能正常返回,但响应时间超过3秒,大概是4-5秒;如果用10个线程请求,接口也能正常返回,但响应时间7秒-10秒;如果用100个线程请求,有的就显示读超时了,为什么?(1)不管几个线程调用,为什么3秒超时没起作用?,即请求对象上的超时设置会覆盖全局。
2025-04-16 12:41:01
187
原创 使用sm4算法实现消息对称加密
由于安全性考虑,接口调用使用sm4算法加密入参,对方使用sm4算法解密入参,并将返回结果进行sm4算法加密,我方再使用sm4解密获得返回的原json串。改成以下版本即可,最终我再试着从jre的lib下删除这个包,已经java.security删除策略也能运行成功!最终还是版本问题呗。这个版本怎么跑都报错,看了我本地仓库还有其他版本的jar包,抱着试一试的态度,改了个版本,居然可以了!但由于使用jdk是1.8_20版本,项目里依赖的bouncy版本是。
2025-04-02 10:01:38
697
原创 一些数学概念
小编目前想学习一些密码学理论,结果一开始就遇到了坎儿,涉及的数学理论全都还给了数学老师,但没关系,再回忆学习一次。。先看一些基本概念。
2025-03-24 11:06:59
560
原创 Springboot java初始问题
如果考虑到父类,其初始化顺序为:父类静态变量初始零值 -> 父类静态变量显式赋值 -> 父类静态代码块赋值 -> 子类静态变量初始零值 -> 子类静态变量显式赋值 -> 子类静态代码块赋值 -> 实例变量默认零值 -> 父类构造代码块赋值 -> 父类构造函数赋值 -> 子类构造代码块赋值 -> 子类构造函数赋值。启动的时候spring报错了,初始化块的时候,空指针异常了,也就是说 serviceB在调用的时候并没有被初始化。对象的初始化顺序和块谁的优先级高呢?初始零值 -> 静态变量显式赋值 ->
2025-03-21 13:37:23
225
原创 Webservice调用&测试
返回以xml字符串返回,xml某个字段是一个json字符串。请求头增加Content-type:text/xml。请求body以xml字符串传递。SOAPAction:方法名。
2025-03-13 15:37:10
501
原创 3月09日奇怪的Incorrect datetime value
看应用日志当前时间,和产生的update_time(程序里根据new Date()直接生成的)不一致,看着就像是时区的问题,但即便时区有问题,应该插入的时间不对才是,也不应该报时间格式不合法的错误啊,而且实施后来说插入又没问题了,搞的人百思不得其解,网上搜了相关文章,不是说插入的时间格式的问题就是说需要显示指定datetime的精确位数问题(但这个我试了sql都能插入成功),再说实施反馈问题说后来自己又恢复了,而且去年3月也发生过这个错误,这就比较诡异,好像是多事的3月!那怎么再复现这个问题呢?
2025-03-10 14:04:53
237
原创 mysql命令行执行sql文件
执行sql,但有个问题,如果sql报错,就终止了,比如主键冲突,后面的insert继续想执行,那就需要添加 --force 参数。mysql -h 数据库ip -u 用户名 -p 库名 < /opt/20241201_order.sql。输入密码后执行sql文件;当然库名也可以在sql文件中通过use 数据库名;
2025-03-10 11:37:54
103
原创 java jar包内的jar包如何打补丁
2、内层包使用jar -xvf service-hisca-impl-1.0.0.jar 解压后,替换里面的class文件后,再重新使用 jar -cvf service-hisca-impl-1.0.0.jar * 打包新的内层补丁包;1、主包jar -xvf hisca.jar解压后,找到内层包service-hisca-impl-1.0.0.jar。重新将解压后的主包目录下所有文件打包,jar -cvf hisca.jar * 打主包。3、将打包的新内层jar包拷贝到解压后的主包的指定目录下;
2025-02-28 09:22:07
436
原创 504 Gateway Time-out
nginx访问某后端服务html显示504,但nginx上telnet ip 8888端口是通的,但curl访问接口就一直没响应,应用ip+8888端口访问页面也没有响应。最后是运维大哥过来,正好一起确认下,试着把应用端口由8888改成别的,修改nginx代理端口,再试结果通了!可能8888这样的端口比较危险,被防火墙加入了限制。
2025-02-24 16:27:53
105
原创 mysql Access denied for user
java程序直连mysql进行刷数据的程序操作,结果一直提示access denied,但实际连的jdbc的用户米密码都是正确的,让运维找了半天,结果是数据库本身对连接账号做了授权限制,只允许某个好段的访问,比如只能1.*号段访问,11.*不能访问。
2025-02-21 16:58:45
158
原创 Es的text和keyword类型以及如何修改类型
昨天同事触发定时任务发现es相关服务报了一个序列化问题,今天早上捕获异常将异常堆栈全部打出来看,才发现是聚合的字段不是keyword类型的问题。到kibbna命令行执行也是一样的错误使用 /_mapping查看索引的字段类型,才发现userUniqueid是text类型如果用text执行聚合,还必须在字段名后面加上 userUniqueid.keyword才能聚合。需要重新建索引,指定类型!这里说说text和keyword的区别。
2025-02-19 11:04:01
1212
原创 机器学习入门-读书摘要
梯度指示的方向是各点处的函数值减少最多的地方,无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。数值微分,可以计算权重的梯度,但还有一种更高效的计算梯度的方法,但实现较复杂,误差反向传播法计算梯度效率比较高,它利用链式法则计算。引入损失函数衡量调整的指标,学习的目的找出使得损失函数的值达到最小的权重参数。机器学习使用训练数据学习,严格来说,就是针对训练数据计算损失函数的值,找出使得该值最小的参数。可以用图像直观表示。为了减小mini-batch的损失函数的值,需要求出各个权重参数的梯度。
2025-02-14 17:33:15
523
原创 ES 命令行查询
curl -XGET "http://es集群ip地址:9200/_cat/indices?一般我们都是用可视化界面或者类似kibbana工具可以自动编辑es查询条件。如果用linux命令来查询,其实就是转换成http请求,用curl来请求。curl -XPOST "http://es集群ip地址:9200/#查询某个索引下文档。
2025-02-14 16:02:14
426
原创 Http connect timed out
查询内核参数值 sysctl -a --pattern=tcp_tw_recycle。使用nslookup [hostname]或dig命令检查域名解析速度和结果。tcp_tw_recycle ---快速回收time_wait的tcp连接。客户向云端服务请求时,连接云端域名显示连接超时,为什么呢,偶尔会有。(1)使用traceroute命令检查网络路径中是否存在阻塞或延迟。这些都没有什么问题,最终客户自己找到问题,年前动过网络。ping [hostname] 检查服务器是否可达。
2025-02-13 16:10:02
516
原创 ES增加字段
ES中如果不事先指定字段比如 hospitalNumber,直接添加文档(包含了这个字段),则这个字段就会变成text类型,而非keyword类型,检索时必须用 hospitalNumber.keyword方式才能检索出来。) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,但是会存储,ignore_above一般设置为256(筛选该字段,并且去除非分词字段的大小限制),设置为30000可能会出现BulkFailureException。
2025-02-13 13:43:29
487
原创 ES用脚本更新异常
因为需要向原有的es结构中增加一个检索字段,但因为历史es数据都没有该字段,需要批量刷新es的该字段,本地使用了脚本的方式进行刷新,在测试环境测试,出现了以下错误:这条错误信息表示在ElasticSearch中,5分钟内动态脚本编译的数量超过了允许的最大值75个。ElasticSearch设置了这个限制是为了防止因大量脚本编译导致的内存溢出和性能下降。
2025-02-12 16:21:02
495
原创 2025年春节开工第一天
希望自己新的一年里增加些松弛感,吃饭慢一些,走路慢一些,遇事不急躁,凡事有商量,静能生慧,才能慢慢看清自己的需求,找回迷失的自己,对自己有信心对未来有信心,平凡的生活就平凡过,知足常乐,就像天后王菲唱的停一停 等一等 别匆匆。访问公司对外的文档站,返回的js资源都报net::ERR_CERT_DATE_INVALID,js放在https路径下,而该域名下的证书截止时间是2月4日,过期了。
2025-02-05 15:02:13
225
原创 浅说数字签名相关概念
常见的摘要算法主要有:MD5(Message Digest Algorithm 5)、SHA1(Security Hash Algorithm 1)、SHA2(Security Hash Algorithm 2)包含SHA224、SHA256、SHA384。判断原文(非固定长度,可能很大)是否被修改,可以判断原文的摘要(摘要是固定长度)是否一致。但因为摘要算法是公开的,一旦原文和摘要被泄露,则可以重新计算摘要。
2025-01-16 15:09:02
1040
原创 Python的随机数
然而,随机数并不是真正的“随机”,而是通过特定的算法生成的“伪随机数”(Pseudo Random Number)。为了让程序在特定情况下产生一致的随机数,我们可以使用**随机数种子(Random Seed)**来控制随机数的生成过程。简单来说,随机数种子是控制随机数生成的“开关”,设置种子后,程序中涉及随机数的行为变得“可控且可复现”。为什么伪随机数是确定的?伪随机数是通过特定算法生成的,它们看似随机,但实际上是确定性的。如果伪随机数生成器的初始状态(种子)相同,那么每次生成的随机数序列也会完全相同。
2024-12-27 14:52:48
293
原创 深度学习入门概念
损失函数,也叫代价函数或目标函数,它的输出是一个距离值,反馈神经网络在这个示例上的效果好坏。由于一开始对神经网络的权重是随机复制,因此最开始输出值自然和理想结果差异很大,损失值也很大,但神经网络每处理一个示例,权重值都会向着正确的方向微调,损失值也会随之减小,这就是。比如,彩色图形可以编码为RGB(红绿蓝)格式或HSV(色相-饱和度-明暗度)格式,根据任务选择数据的表示,比如选择图像中所有红色像素,选择RGB更简单。(3)衡量算法效果的方法,计算预期输出和真实输出的差距。,这是深度学习的核心算法。
2024-12-26 09:54:15
283
原创 AI初体验
AI浪潮来了,正好工作还有闲暇时间,昨天简单看了下常见的大模型,简单下载了管理大模型工具的ollama并安装,然后安装大模型llama3(由于网络问题重试了好多次,最终今天早上终于下载完了)大模型能动态更新知识库么?比如某个地方的天气能查到么?大模型能对接其他工具api么?输入hello,会回答什么呢?回答的有些慢,可能和我电脑配置有关?大模型是怎么训练的知识库?大模型底层原理到底怎样的?
2024-12-25 09:07:45
168
原创 记一次回调失败问题
经过沟通通过远程客户端服务器,包括负载层,应用层(服务器上部署的java服务是我们提供的),但我方处发重试回调时,并未看到nginx的accesslog有,errorlog也没有,其他回调正常的订单是有accesslog日志的,可以看到回调的报文json串。我想的排查思路是先看下接收回调地址的nginx的日志。参数为什么不合法呢,搜了下这个异常,大概的意思就是传入的参数和controller里定义的requestbody对应的dto可能字段类型不对应,但怎么会不对应呢。想起了我的curl命令是这么写的。
2024-12-13 09:53:04
364
原创 net.sf.JSONObject的坑
但今天早上有客户报获取二维码异常,看日志还没有异常,用的阿里云的log服务,搜error和exception都没有,而且crete qr code的日志都不输出了,说明整个方法没调到?而且调用方同事给了日志显示是异常,但报的是dubbo序列化异常的,可能是抛出的异常类没有序列化吧。本地微信token缓存2小时,看样子是token过期了,经过如下调整想着重新获取一次token,删除缓存中无效token,重新调用接口获取新token,思路没毛病,昨晚5:30发布生产,也未见异常。原来是这个问题导致的!
2024-12-10 12:32:45
233
原创 es字段修改
GET /_tasks/UUnR_z_YQXaGPqvyyKwYqg:527285742 查看上面任务的执行进度。-----这个只是删除了文档的字段,并没有改变文档的类型。创建临时索引索引,包含keyword类型的新字段!需要现将文档内容的字段删除,在创建索引,迁移索引。GET /索引名称/_mapping。es删除字段比较麻烦,因为是倒排索引。再reindex后,删除temp索引。以新mapping结构创建原索引。2 #在已有的索引上新增新字段。从原索引迁移数据到临时索引。
2024-12-09 16:16:01
497
commons的相关jar包
2010-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人