日常问题
是茜茜qianqian呀
这个作者很懒,什么都没留下…
展开
-
java: 找不到符号 符号: 类 BASE64Encoder 位置: 程序包 sun.misc
java: 找不到符号 符号: 类 BASE64Encoder 位置: 程序包 sun.misc。依图如下,修改jdk对应的版本即可。原创 2023-03-15 14:37:51 · 3849 阅读 · 0 评论 -
java.io.IOException: Broken pipe
我们设置的超时时间是100S,由于当日单量比较大,看日志发现,拉取了3分钟才拉完,拉完之后返回给获取数据服务时,获取数据的服务已关闭服务连接,所以报了这个错,其实报错的字面意思描述也挺明确的。线上环境,拉取对账单,走的接口的形式,当天单量比较大,就出现了,拉取订单超时,报了个错java.io.IOException: Broken pipe。在此记录此问题,如果你不巧也遇到了此问题,希望能帮你提供一个解决思路。可适当改长你们调用方式的 ReadTimeout 时间。吧超时时间设置为大于3分钟就ok了。原创 2023-03-03 16:52:15 · 1207 阅读 · 0 评论 -
并发乐观锁
尝试了加锁和内存缓存数据等方式进行解决,效果依然不佳,只能减少出现乐观锁的次数,不能避免乐观锁。采取的是 mq 的方式,获取到订单结果的返回码时,发到一个消息队列里,异步进行消费保存。这种大数据量的操作数据库,还是采用mongo缓存好一点,定期存数,不实时更新数据。,当量很大时,多节点多线程对同一条数据进行操作时,会报乐观锁异常。保存的过程中,相同的返回码会累加数据总数,统计批量订单的返回码总数。原创 2023-02-27 16:48:41 · 103 阅读 · 0 评论 -
数据库 varchar 类型应该设计多长?
尽管 InnoDB 是动态存储的, 但别的数据库引擎不一定是如此,有的可能会使用固定长度的行,或者固定大小的内存表, 内存表即为 SQL 查询中产生的临时表,它通常会为 varchar 类型分配最大的空间,比如 utf-8 编码下, 内存表可能要为 VARCHAR(255) 分配 2+3×255 字节 (2 是因为存的是字节长度而不是字符长度), 如果行数非常多,这也会带来性能问题。其实在今天来说多一个字节也没什么区别, 但为了兼容性, 通常的数据库设计中还是会出现很多 VARCHAR(255)。原创 2022-11-29 22:58:09 · 4985 阅读 · 0 评论 -
.p12 .pfx .cer 证书
A方:需要 B 方的公钥和 A 自己的私钥, A 自己的私钥用来做加密,然后 B 用 A 给过来的公钥做解密。B方:需要 A 方的公钥和 B 自己的私钥, B 自己的私钥用来做加密,然后 A 用 B 给过来的公钥做解密。② 私钥证书:.p12 .pfx 结尾的私钥。① 公私钥证书:.cer 结尾的公钥。...原创 2022-08-10 13:47:35 · 822 阅读 · 0 评论 -
CAUSE: 加载证书时出错PKCS12 key store mac invalid - wrong password
CAUSE: 加载证书时出错PKCS12 key store mac invalid - wrong password原创 2022-08-05 20:02:12 · 1789 阅读 · 0 评论 -
\uFEFF
1、问题今天在做下载 Excel 文件,解析数据时,遇到一个奇葩问题。文件格式大致长这样我们是要解析这个 Excel 文件,然后用 map.get("订单号") 这种方式获取每一列的值,结果后面列都能正常获取,只有第一列获取结果为 null 。后来控制台打印结果看起来也正常,把打印的结果复制在粘贴到代码里之后发现多了一个 \uFEFF 符号,也就是要用 map.get("\uFEFF订单号") 这种方式才能获取到值。2、分析原因经过和提供 Excel 文件的第三方沟通他们的原因:原创 2022-05-18 20:05:17 · 487 阅读 · 0 评论 -
Illegal base64 character 20
1、问题:RSA 解密报错:Illegal base64 character 202、分析:如果是 url 地址栏传参,只需要UrlDecode 一次,如果开发平台默认 UrlDecode,程序就不用再次 UrlDecode,否则 base64 中的 “+” 加号会被替换成空格,无法解密或者验签成功。3、解决方案:修改成如下即可:System.out.println(new String(Base64.getDecoder().decode(res.replaceAll(" +",原创 2022-03-18 17:50:11 · 11133 阅读 · 0 评论 -
data must not be longer than 256 bytes
1、问题:在进行 RSA 解密时候报错:data must not be longer than 256 bytes2、分析:RSA加解密算法通常有两种不同的方式:① 是使用对称密钥(比如 AES/ DES等加解密方法)加密数据,然后使用非对称密钥(RSA加解密密钥)加密对称密钥;② 是直接使用非对称密钥加密数据。第一种方式安全性高,复杂度也高,不存在加密数据长度限制问题。第二种方式安全性比起第一种要差一些,复杂度低,但是存在加密数据限制问题(即使用非对称密钥加密数据时,一次加密原创 2022-03-18 17:43:09 · 2165 阅读 · 2 评论 -
xml 转对象报错:类的两个属性具有相同名称
今天在用 jaxb 做 xml 转对象时,遇到俩问题。先记录一下:① 意外的元素(uri:"",local:"root")。所需元素为(none)② jaxb对象转xml报错:类的两个属性具有相同名称lombok(@Data)原创 2022-01-10 15:22:58 · 4073 阅读 · 0 评论 -
Mysql 数据库表中 int 类型的长度
Mysql 我们平时创建一个表对 int 类型习惯设置 int(11) ,不知道你有没有试过设置其他长度有什么影响吗?下面咱们来实验一下啦。以下是每个整数类型的存储和范围: 类型 字节 最小值 最大值 (带符号的/无符号的) (带符号的/无符号的) TINYINT 1 ..原创 2022-01-02 14:11:07 · 14648 阅读 · 1 评论 -
‘2.147483653E9‘ in column ‘1‘ is outside valid range for the datatype INTEGER
茜茜今天遇到了这个问题。报错如下:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: '2.147483653E9' in column '1' is outside valid range for the datatype INTEGER通过控制台的运行日志信息可以发现:我的这个 id 是一个 Integer 类型,但是现在有值超出了 Integer 的范围,所以需要把 pojo 对应的 id 的类型更改为比 Int原创 2021-12-29 18:00:40 · 2575 阅读 · 0 评论 -
表查询 rows 超过总行数 30% 时索引失效—— Mysql 索引失效
单次查询如果查出表的大部分数据,这会导致编译器认为全表扫描性能比走索引更好,从而导致索引失效。一般单次查询数量大概占大表的30%以上索引会失效。原创 2021-12-28 21:01:29 · 3093 阅读 · 0 评论 -
多套测试环境的坑
今天又裁了一个坑。1、大背景:由于我们的测试环境是多套,每套环境走的配置不相同,我们选了一个测试环境进行联调,比如环境A,然后开始联调。2、问题:联调的过程中发现,联调环境走的逻辑和本身此环境对应的代码分支逻辑对不上。3、解决问题因为有一个同事,在用此联调环境在本地起了服务,对应的请求打到了本地的代码逻辑,所以对应不上。4、总结环境还是不要混着用,要不然你会发现你根本在测试环境的代码分支上定位不到问题,也没有日志,应为走到了本地,所以测试环境连日志都差不多,逻辑更是对不上。原创 2021-12-23 15:05:10 · 614 阅读 · 1 评论 -
Mysql 的自增主键达到最大值,怎么办
1、遇到的问题Mysql 的自增主键达到最大值,会发生什么你知道吗?就在今天,我们线上就发生了这种问题!!!他会发生异常,报错如下:Duplicateentry'2147483647'forkey'PRIMARY'org.springframework.dao.DataIntegrityViolationException:couldnotexecutestatement;SQL[n/a];constraint[PRIMARY];nestedexceptio...原创 2021-12-20 20:37:28 · 4849 阅读 · 0 评论 -
Hibernate 的三种状态之 NPE 报错
1、大背景今天要记录的这个错误呢,是在自测的时候犯的,由于自测写单元测试,一不留神把一个新创建的瞬时态去做了更新操作,所以就报了空指针异常。Hibernate 的三种状态:transient (临时状态),persistent (持久化状态)以及 detached (游离状态)2、三种状态介绍临时态:就是刚new出来一个对象,还没有被保存到数据库中。持久态:就是已经被保存到数据库中。游离态:就是数据库中有,但是session中不存在该对象。① 先 new 一个对象 use原创 2021-12-18 10:45:35 · 695 阅读 · 0 评论 -
com.alibaba.fastjson.JSONException: default constructor not found. class
1、此错误是出现在 json 转换成 Java 对象时报错。2、报错如标题所示:com.alibaba.fastjson.JSONException: default constructor not found. class com.heika.pay.lianpay.vo.RefundVo3、原因:主要是因为要被转为的 Java 对象没有默认构造方法我是用了lombok 的 @Data 注解,那么就需要增加无参构造方法的注解@NoArgsConstructor 以及全部入参的构造.原创 2021-12-15 15:03:26 · 4529 阅读 · 0 评论 -
ELK kibana查询
1、查询消耗时间:cost:>50002、允许一个字段值在某个区间。[] 包含该值,{}不包含。responsetime:{20TO*}3、基于字段的查询status:ERROR4、布尔查询布尔运算符(AND,OR,NOT)允许通过逻辑运算符组合多个子查询。运算符 AND/OR/NOT 必须大写。NOT type: mysqlmysql.method: SELECT AND mysql.size: [10000 TO *](mysql.method: ...原创 2021-12-13 19:59:49 · 729 阅读 · 0 评论 -
项目 jar 包的 diagrams
如果你想更心一个 jar 包的版本,而又不知道关联关系式在 pom 文件里右键,你会有意想不到的惊喜。或者这样红色部分就能看到 jar 包引用冲突的地方啦。原创 2021-12-13 14:43:34 · 334 阅读 · 0 评论 -
resolution will not be reattempted until the update interval of XXX has elapsed or updates are force
1、问题的起因Idea 导入一个新的项目,jar 包更新时候报错。目的:是想要更新 jar 包版本。我只是在pom.xml文件中,将version的版本号数字改了下,本以为能达到效果,没想到问题就来了。包一直下不下来。当然idea的引用也没有更新。其实虽然是一个很简单的错误,但是碰到就总是闹心的,所以要记录一下。2、错误消息:如标题中一样,这里主要贴出来有用的错误信息resolution will not be reattempted until the update...原创 2021-12-13 14:35:25 · 6779 阅读 · 0 评论 -
【APACHE LOG4J】漏洞修复方案
昨天 Apache 突然爆出漏洞,然后大家都在加班修补这个漏洞,这里记录一下修补方案。1.针对 springboot 内置的 log4j 需要将内置的 log4j 包 exclusion ,然后引入新的 log4j 包。2.直接引入 log4j 的直接替换maven配置即可。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId.原创 2021-12-11 18:38:55 · 768 阅读 · 0 评论 -
switch case break
switch 的 case 没有 break 哭唧唧,是不是该自罚不吃饭。原创 2021-11-22 20:40:42 · 281 阅读 · 0 评论 -
复制一个 IDEA 项目的子模块,图标没有显示 m 即 maven 的标志
1、现象:首先我赋值的项目是属于一个子模块,复制完修改配置之后,显示没有maven管理的那个小目标。2、解决先看下是否在主模块了引入了这个子模块file->Project Structure没有引入的话,先import进来,就显示了3、进来之后要进行Build->Rebuild Project4、Reload一下即jar包都加载了进来5、搞定,撒花...原创 2021-11-22 16:54:27 · 2552 阅读 · 0 评论 -
被困在了idea的环境里
被困在环境里的一天,一个很久没有怎么碰的项目,突然要改点东西,从git上检代码出来,重新搞环境,各种jar包找不着,pom文件报错,都快要哭了。还好耐着性子,靠自己搞出来了。尝试了各种办法① 清缓存② 重新构建③ mvn clean 和 mvn install④ 多次 reload总之环境问题就是各种方式都可以尝试下。中间出现了各种不同的报错:其中莫名其妙的报错,就莫名其妙的好了。下面列几种有迹可循的报错,这些是可以按照报错信息修改的,认真的一步...原创 2021-08-26 20:34:26 · 150 阅读 · 0 评论 -
javaMail 发送邮件遇到的奇葩问题Invalid Addresses
一个发邮件的服务mail.smtp.auth=true 这个配置设置为true时,就能正常发送设置为false时,就报错org.springframework.mail.MailSendException: Failed messages: javax.mail.SendFailedException: Invalid Addresses;nested exception is:也是很神奇的一件事设置true时:(需要进行用户名授权码验证),测试邮件发送时报错。报错的原因可原创 2021-08-18 16:15:25 · 8392 阅读 · 1 评论 -
@Builder使用的坑
1、@Builder的实现方式是会对标注这个注解的类的所有成员变量,所以在使用@Builder构建的时候如果不显式的对某变量赋值的话默认就是null,因为这个变量此时是在Builder类里的,通过调用build()方法生成具体该类则是通过私有构造函数来实例化,默认是全参数的构造函数。即@Builder默认的实现方式是在类上添加@AllArgsConstructor,所以一般情况下@Builder 和@AllArgsConstructor,@NoArgsConstructor这三注解要配合使用。原创 2021-08-05 11:16:29 · 1894 阅读 · 0 评论 -
支付相关日常总结
1、查询返订单不存在的结果优化:之前没有处理订单不存在的情况,根据订单不存在的返回码,做特殊处理,查询到不存在之后,继续查询10分钟或半小时之后程序自动置失败。优化的时候居然只改了划扣查询,把快捷查询结果部分给忘了忘了忘了!!!真是服了我自己呀!...原创 2021-07-01 21:00:00 · 80 阅读 · 0 评论 -
记一个线上请求三方服务java.net.UnknownHostException异常
生产环境突然发了好多告警,java.net.UnknownHostException,刚开始以为是三方服务发生了异常,后来是我们自己的DNS解析异常,没有解析带对应的请求ip原创 2021-06-19 11:42:30 · 431 阅读 · 0 评论