• 欢迎光临~

标签:arraylist

开发技术

一次多线程并发查询导致结果混乱的问题的排查和记录·JAVA·2022

一次多线程并发查询导致结果混乱的问题的排查和记录·JAVA·2022
该业务是报表查询类业务:要求从销售出库数据(存储于ElasticSearch索引中)中,按照管理者分组聚合查询各个管理者一定时间段内的动销汇总数据,如出库金额、毛利率等。 但由于出库单索引中,只记录了每条出库记录的货主(商品持有人),而没有记录这些商品持有人的管理者(因为管理者和货主的关系是可变动的),因此无法直接按照管理者聚合,只能将先查出每个管理者所附属……继续阅读 »

diligentman 2天前 0浏览 0个赞

开发技术

一次多线程并发查询导致结果混乱的问题的排查和记录·JAVA·2022

一次多线程并发查询导致结果混乱的问题的排查和记录·JAVA·2022
该业务是报表查询类业务:要求从销售出库数据(存储于ElasticSearch索引中)中,按照管理者分组聚合查询各个管理者一定时间段内的动销汇总数据,如出库金额、毛利率等。 但由于出库单索引中,只记录了每条出库记录的货主(商品持有人),而没有记录这些商品持有人的管理者(因为管理者和货主的关系是可变动的),因此无法直接按照管理者聚合,只能将先查出每个管理者所附属……继续阅读 »

diligentman 2天前 0浏览 0个赞

开发技术

软件设计中最关键的“开闭原则”,究竟指什么呢?

软件设计中最关键的“开闭原则”,究竟指什么呢?
软件设计原则中有一条很关键的原则是开闭原则,就是所谓的对扩展开放,对修改关闭。个人觉得这条原则是非常重要的,直接关系到你的设计是否具备良好的扩展性,但也是相对比较难以理解和掌握的,究竟怎样的代码改动才被定义为“扩展”?怎样的代码改动才被定义为“修改”?怎么才算满足或违反“开闭原则”?别急,本文将展开详细阐述。 ……继续阅读 »

diligentman 1周前 (12-22) 0浏览 0个赞