自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 2025-02-06T03:54:53.083241+08:00 222512 [Note] InnoDB: *** (1) TRANSACTION:TRANSACTION 945697160,

1520: len 8;;1: len 8;;2: len 20;;3: len 4;asc;;0: len 8;;1: len 8;;2: len 20;;3: len 4;asc;;0: len 4;asc;;1: len 6;asc 8^1;;2: len 7;asc ,;;3: len 8;;4: len 8;;5: len 20;;6: len 5;asc =;;

2025-02-14 09:45:46 674

原创 线上问题定位

不过其实上面那些操作也很难定位到具体的问题点,关键还是要看错误日志栈,找到可疑的对象,搞清楚它的回收机制,然后去分析对应的对象。涉及到网络层面的问题一般都比较复杂,场景多,定位难,成为了大多数开发的噩梦,应该是最复杂的了。日常开发中,代码产生内存泄漏是比较常见的事,并且比较隐蔽,需要开发者更加关注细节。我们在设置各种超时时间中,需要确认的是尽量保持客户端的超时小于服务端的超时,以保证连接正常结束。如何设置合理的接口超时是一个问题。包表示连接重置,用于关闭一些无用的连接,通常表示异常关闭,区别于四次挥手。

2025-01-23 17:01:52 756

原创 OAuth RFC 建议不要使用 localhost,而是使用环回文本 127.0.0.1 或 IPv6 ::1

2024-10-29 23:25:43 109

原创 全量查数据库导致的OOM内存溢出

3、原先使用select * 查出所有的字段,而后发现后续其实只需要用到用户“id”和“在线状态”字段,所以其实可以只读取出需要的字段,避免不必要的读取的IO消耗。这在用户量少的时候没有问题,但是当用户量大且JVM堆内存不足够匹配时,就会导致问题。在平台导入60w的人员,子系统A同时会生成对应数量用户。添加60W的用户,对比改造前和改造后的情况。发现改造前确实会OOM,而改造后的内存占用影响很小。2、将判断用户过期的逻辑直接放在sql语句中,可以保证只读取需要的过期用户,忽略正常的用户。

2024-10-10 20:40:32 462 1

原创 导出excel的字段可能存在DDE注入问题

在项目中进行导出excel文件的时候,如果不对用户输入的内容进行判断,则可能会有非法使用者通过DDE注入进行入侵:即用户写入特定内容会被excel解析成函数,当excel被打开时会触发公式解释执行。例如:当用户某个字段输入的内容为:A0时,当该内容被导出至excel中后,会调用系统的计算器。1、Excel的解释机制在Excel任何以'='字符开头的单元格都将被电子表格软件解释为公式,如果我们在其中输入“=2+5”,则表格会显示为7。

2024-10-09 20:18:47 643

原创 使用Mybatis的 Interceptor 实现对所有入库出库的Date字段进行转换

TODO。

2024-07-24 23:16:59 260

原创 ruoyi框架字典的使用

2. 前端限定多选框只能是字典中的选项。这样选择好后,发送给后端的值就是我们字典中定义的值了。3. 最关键的来了,我们如何根据后端传过来的字典的值得到字典中的label显示在前端呢。写给自己看的,就比较简略了。然后在多选框中使用字典。1. 字典定义: 略。

2023-08-01 14:48:46 1169

原创 ### Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: column does not exis

踩坑:### Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: column "system_name" of relation "tbl_data_asset" does not exis。

2023-07-28 10:34:50 2143 1

原创 POM 中 JACOCO 与 surefire冲突问题

结果这样导致 jacoco 无法生成覆盖率代码。

2023-07-09 15:23:00 804

原创 IDEA test时候正常,而当用MAVEN test时候中文乱码

在 POM.XML 的 的 中加入下面这个。

2023-07-09 13:44:14 270

原创 使用mokito单元测试的隔离问题

2. 最终,通过控制变量法,发现这个测试类是最后一个运行的,而在他前一个运行的测试类,会mock这个session变量,导致这最后一个测试类获取不到session中的值。1. 使用mokito进行单元测试时,发现一个测试类单独测时可以执行,而跟好几个测试类测时却报错,说找不到 Session中存的登录用户。3. 对于倒数第二个类,需要将他的影响范围控制在测试类中。隔离起来,不然就会影响其他共享变量的方法!

2023-07-08 22:54:39 101

原创 使用mockito代理静态mock出现的问题

2. 报错:Static mocking is already registered in the current thread"。当进行多个测试类测试时,更容易报这样的错。解决:@BeforeEach 进行mock,然后在@AfterEach 里要进行关闭。问题所在:mock静态类只能一个线程mock一次,所以需要用完后关闭。-- 为了使用mockito的模拟静态类 -->2. @BeforeEach 中mock静态类。3. @AfterEach 中关闭。

2023-07-08 22:26:10 6680 1

原创 数据库逻辑删除设计

因为约束体现了业务规则,只要违反了约束,肯定会违反业务规则,这样能够把开发过程中可能产生的 bug 尽早地暴露出来,尽早地修复。现在很多系统都不允许真正删除数据库中的数据,而是通过引入删除标记字段的方式进行假删除,即我们通常说的逻辑删除。据我的一些同行说,他们公司甚至不允许在程序中出现删除语句,甚至在实施时,分配给你的数据库用户就不具有删除数据的权限!当用户添加了一个编码为 '001' 的商品,并且删除之后,goods 表中便有一条goods_no 字段为 '001' 的记录。

2023-07-07 13:38:43 94

原创 SQL 乐观锁问题

这样是悲观锁,并没有达到乐观锁的效果。同时自己想着拿updateTime字段顺便用作乐观锁,但这样会有问题,在进行更新的时候,updateTime已经被设置新的值了,没法在sql where语句中进行旧值的判断。解决:1. 若只是一句update语句的场景,并不需要先进行select逻辑再update的场景的话,直接使用乐观锁就行,也就是对数据库只有一句update xxxx Set xxx, version = bersion+1 where version = #{version}。

2023-07-07 10:01:33 212

原创 JAVA pom中包版本过高导致的报错

启动时,报错。61.0 55.0。

2023-07-05 16:33:19 897

原创 JAVA依赖冲突解决

1. mvn dependency:tree 打印项目的依赖树。导入的包中存在依赖冲突,应该是打印日志的。2. 安装MAVEN HELPER。

2023-07-05 16:23:42 892

原创 背包问题全集

背包问题合集。

2022-10-07 18:09:31 241

原创 二分图的算法

1.染色法判断二分图。

2022-10-03 17:13:23 155

原创 最小生成树

【代码】最小生成树。

2022-10-03 13:08:22 134

原创 leetcode-743. 网络延迟时间

最短路径。2. dijkstra堆优化版本。3.bellman-ford算法。dijkstra 朴素。最短路径的几种算法。

2022-10-02 12:57:41 529 1

空空如也

空空如也

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

TA关注的人

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