- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 Calendar类日期设置进位问题
摘要:本文分析了一个日期计算问题,当使用Calendar类计算指定月份的最后一天时,若当前日期超过目标月份天数会导致错误结果(如2025/02参数返回2月末而非预期的1月末)。问题原因是Calendar初始化携带当前日期(如30日)在设置2月时自动调整到3月。解决方案是在设置年月前清除日期分量(使用clear()或将DAY_OF_MONTH设为1),确保计算不受当前日期影响。修复后代码能正确返回上月最后一天23:59:59.999的时间点,满足报表查询近5个月数据的需求。
2025-06-05 18:09:56
733
原创 类内部方法调用导致动态数据源失效问题
摘要:在多数据源报表开发中,发现同类内部调用时@DS动态数据源注解失效。原因是Spring AOP代理机制下,内部调用this.method()会绕过代理对象。解决方案:1)通过AopContext.currentProxy()或ApplicationContext获取代理对象调用;2)将方法拆分到不同类避免内部调用。对比AspectJ字节码增强可直接拦截内部调用,而Spring AOP依赖代理机制。该问题与事务失效原理相同,建议前期做好模块拆分,必要时通过代理对象调用确保切面生效。事务失效(148字)
2025-06-05 11:38:36
481
原创 关于项目部署机器设备的计算
假设在机器的采买前,我们对系统的接口处理时间进行了测试验证,平均的相应时间在:300毫秒。在新项目上线时,或者在我们经历大促活动时,经常需要对机器进行购买,那么我该购买多少台机器能满足我们的诉求,既能保证生产环境稳定运行,又可以保证对成本的控制。部署2-4台反向代理(如Nginx),采用加权轮询或最小连接算法分发请求,单Nginx节点可支持10万级并发6。部署Redis集群(如16核64G节点),缓存热点数据,降低数据库负载4。:按业务拆分数据库,单库建议8核32G配置,支撑1-2万TPS8。
2025-04-13 20:31:40
366
原创 CompletableFuture并行编程生产问题处理
总结:CompletableFuture 在实战项目中,对因理解深度的原因造成的问题进行剖析。帮助大家理解掌握CompletableFuture如何设置多任务的超时时间,如何在任务超时时丢弃超时任务
2024-08-01 22:43:29
922
原创 CompletableFuture原理与实践-APP楼层异步化
随着用户数量的持续上升,商城各系统服务面临的压力也越来越大。作为网站的核心,商城提供了首页,商品详情,门店详情,订单页一系列核心功能,业务对系统吞吐量的要求也越来越高。而商城API服务是流量入口,所有商城端流量都会由其调度、聚合,对外面向商家提供功能接口,对内调度各个下游服务获取数据进行聚合,具有鲜明的I/O密集型(I/O Bound)特点。在当前日订单规模已达千万级的情况下,使用同步加载方式的弊端逐渐显现,因此我们开始考虑将同步加载改为并行加载的可行性。
2023-07-23 23:26:08
291
原创 线程之间数据传递详解
多线程,线程间数据传递,ThreadLocal,InheritableThreadLocal,InheritableThreadLocal,TaskDecorator
2023-01-08 18:01:37
2936
原创 规则引擎Aviator实践分享
本文对比了市面较火的规则引擎:drools,easyrules,urule,aviator详述他们的优缺点,及应用案例。
2022-11-06 23:20:47
4765
9
原创 springboot+swagger
依赖:<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version></dependency><d...
2020-03-15 23:41:03
920
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人