neuqdarcy

导航

2024年3月11日

MySQL如何选择时间类型

摘要: 日常业务中经常需要记录时间,如订单生成时间、记录保存时间、更新时间等。如何选择 MySQL 表的时间字段类型呢? 一句话,看业务,具体是看业务是否会跨时区。 MySQL 的日期类型 可以用于记录日期的格式有: Data type 实例 备注 DATE '0000-00-00' 日期(年月日) TIM 阅读全文

posted @ 2024-03-11 16:47 爱吃橘子的胖达 阅读(6) 评论(0) 推荐(0) 编辑

Redo Log 与 Undo Log

摘要: 本文目的是简单讲清楚 Redo Log 和 Undo Log 的区别,走出常见的误区,省略了底层细节。 Redo Log 和 Undo Log 并不是 MySQL 发明的,而是来自 ARISE 理论(Algorithms for Recovery and Isolation Exploiting S 阅读全文

posted @ 2024-03-11 16:46 爱吃橘子的胖达 阅读(11) 评论(0) 推荐(0) 编辑

2024年3月5日

Java SPI 到底是什么

摘要: 一、Java 扩展机制 在介绍 SPI 机制之前,首先要了解 Java 的扩展机制(The extension mechanism)。“扩展机制” 指的是一种标准(或规范),通过遵循这种标准,用户可以自定义接口,达到丰富功能的目的。“扩展”的表现形式,就是一组 Java 包或者 Java 类。“扩展 阅读全文

posted @ 2024-03-05 21:01 爱吃橘子的胖达 阅读(18) 评论(0) 推荐(0) 编辑

2024年2月22日

对复杂Java POJO 字段赋值

摘要: 背景 上周遇到了一个安全需求,要求外部接口不能返回手机号字段。难点在于,外部接口和内部接口调用的是同一个方法,所以只能在接口返回的地方做处理逻辑。当时为了快速上线,用的办法是把手机号字段取出,置为null,然后再set回去。因为接口返回的POJO比较复杂,嵌套层级多,所以这个办法不优雅。 问题来了, 阅读全文

posted @ 2024-02-22 17:03 爱吃橘子的胖达 阅读(8) 评论(0) 推荐(0) 编辑

2023年11月6日

SecureRandom随机数引起的故障

摘要: 故障现象: 接口大面积超时(数十秒到十多分钟不等)、接口大面积报错(比如连接池报错); 常见监控如 JVM、数据库连接、SQL 查询、网络、请求量都没有异常。 问题分析: 问题开始于修复 Sonar 问题 public class MathUtils { /** * 根据长度,生成指定位数的随机数 阅读全文

posted @ 2023-11-06 21:27 爱吃橘子的胖达 阅读(107) 评论(0) 推荐(0) 编辑

2023年10月9日

Hikari连接池源码解析

摘要: Hikari是最常见的数据库连接驱动之一。HikariPool 作为核心设计,代码简约,使用的技术也非常经典,源码值得一读。 阅读全文

posted @ 2023-10-09 19:44 爱吃橘子的胖达 阅读(181) 评论(0) 推荐(0) 编辑