- 博客(7)
- 收藏
- 关注
原创 分布式 ID 的生成方案(一句话记忆:唯一、有序、高可用、易扩展)
分布式ID生成方案对比与选型指南 在分布式系统中,生成全局唯一ID需考虑性能、扩展性和有序性。主流方案包括:UUID/ULID(简单但无序)、数据库自增(易瓶颈)、数据库号段(DB友好)、Redis原子递增(高性能)、Snowflake算法(高吞吐)和MongoDB ObjectId(原生支持)。关键对比维度包括有序性、时钟回拨风险、扩展性和依赖组件。选型建议:中小并发用Leaf-segment或Redis;高并发选Snowflake;无状态服务用ULID/UUID;已有Redis集群可优先INCR方案。不
2025-09-05 10:20:05
332
转载 Spring动态代理为何需要三级缓存解决循环依赖?
Spring通过三级缓存机制解决循环依赖问题,其核心在于维护Bean不同生命周期的中间状态。一级缓存存储完整Bean,二级缓存存储早期对象(解决循环依赖),三级缓存存储ObjectFactory(延迟处理代理)。去掉三级缓存会破坏Bean生命周期,导致代理过早创建;去掉二级缓存则可能使多个依赖获取到不同代理实例。该机制确保了循环依赖场景下Bean的正确初始化顺序和单例一致性,同时遵循Spring的生命周期设计原则。
2025-08-27 16:13:41
27
原创 Java身份证校验算法
本文总结了身份证校验算法的实现细节,主要包括长度校验(18位)、格式校验(17位数字+1位数字/X)、出生日期校验(严格yyyyMMdd格式)以及校验码计算(GB 11643-1999标准)。校验码计算通过前17位数字乘以固定权重,求和后取模11,再对照校验码表验证最后一位。文中提供了Java实现代码。该算法能有效验证身份证号码的合法性。
2025-08-25 09:41:33
330
原创 移动端位置签到的Java后端
本文介绍了使用Java Topology Suite(JTS)实现移动端位置签到功能的技术方案。重点讲解了如何检测用户是否在指定签到范围内,通过JTS的几何计算功能实现坐标点与电子围栏的空间关系判断。文章包含核心代码实现,包括坐标点转换、范围检测逻辑、距离计算工具类等关键部分,并展示了如何将地理围栏数据存储在数据库中。该方案实现了实时位置验证、违规打卡记录和距离计算等核心功能,为移动端签到系统开发提供了完整的技术参考。
2025-08-18 18:01:55
151
原创 管理员权限控制
本文介绍了一个多级管理员审核系统的权限管理实现方案。系统采用部门树形结构管理权限,设计了包含parent_id和ancestors字段的部门表sys_dept来维护层级关系。通过递归SQL查询获取指定部门的所有子部门ID,实现权限控制。代码示例展示了如何根据管理员所在部门ID查询其管辖范围内的数据记录,其中selectSubDeptIds方法使用WITH RECURSIVE语法实现递归查询,获取部门树状结构中的所有下级部门ID集合。
2025-08-13 15:10:06
222
原创 【Spring 发生bean冲突】
Spring中发生Bean冲突问题:当使用@Bean和@Component同时注入同一个类时,会导致"required a single bean, but 2 were found"错误。本文展示了CreateAndUpdateMetaObjectHandler类被同时通过@Bean方法和@Component注解注入的案例,导致Spring容器中存在两个相同类型的Bean实例。解决方法很简单:只需移除其中一个注入方式(如删除@Component注解),确保每个Bean在容器中保持单例。
2025-08-13 14:48:48
208
原创 A*: Atrous Spatial Temporal Action Recognition for Real Time Applications
识别人类行为(包括判断不安全或异常行为)是一个活跃的研究领域。时间信息对于动作识别至关重要,同时全局上下文和目标个体对于判断人类行为也非常重要。
2024-07-29 16:29:28
744
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅