之前在《关于@Bean的full模式和lite模式》一文中写了在@Configuration注解标记的类中使用@Bean注解生成对象和在@Component注解标记的类中使用@Bean注解生成对象的区别,今天来说一下在@Configuration注解标记的类中生成单例Bean的原理。ConfigurationClassPostProcessor的postPr …
最新内容
真实案例:百万级电商系统结算性能提升30倍的架构奥秘场景痛点:复杂购物车结算的性能瓶颈假设在电商系统中,用户购物车包含100件商品,结算时需要:校验每个商品库存计算促销活动优惠生成订单明细扣减库存更新用户积分初始实现为同步逐条处理,导致性能极差:java 原始低效实现(简化版)public CheckoutResult checkout(Cart cart) …
延迟任务要怎么实现?话不多说,直接进入今天的主题,本文的主要内容如下图所示:什么是延迟任务?顾明思议,我们把需要延迟执行的任务叫做延迟任务。延迟任务的使用场景有以下这些:红包 24 小时未被查收,需要延迟执退还业务;每个月账单日,需要给用户发送当月的对账单;订单下单之后 30 分钟后,用户如果没有付钱,系统需要自动取消订单。等事件都需要使用延迟任务。延迟任务 …
在高并发的应用中,数据访问性能往往是系统性能的关键瓶颈之一。Redis作为一款高性能的内存数据库,广泛应用于缓存、会话存储、排行榜等场景。然而,在某些需要执行大量Redis命令的场景下,网络往返延迟(Round-Trip Time, RTT)的累积可能会显著影响性能。为了解决这一问题,Redis提供了管道(Pipeline)技术,允许客户端一次性发送多个命令 …
前提条件这是必要条件!!! 这是必要条件!!! 这是必要条件!!! 开通当面付,个人、企业账号均可!!!演示获取订单点击,然后扫码支付支付成功后就会响应支付成功应用申请开通和配置接下来介绍应用的创建和配置,一定要仔细哦!!!应用创建首先进入支付宝开放平台,进入控制台,创建一个应用,大概1个工作日内就会审核把这几个必填项填写,然后确认创建,注意名字要清晰,应用 …
前言:本文基于SpringBoot框架实现了一个完整的扫码登录系统。扫码登录流程:Web端向服务器请求生成唯一二维码服务器生成二维码图片并返回用户通过手机App扫描该二维码手机App发送确认请求到服务器服务器通知Web端登录成功Web端完成登录流程后端实现Maven依赖<?xml version="1.0" encoding=" …
讲解步骤基础知识工作原理关键代码核心方法基础知识数组结构数组接口,在查询数据方面,具备优势链表结构链表结构,在增删数据方面,具备优势红黑树结构红黑树结构,在查询数据方面,数据量较大的时候,具备一定的优势什么是散列(哈希)表散列表,顾名思义,就是将数据分布在不同的列但是散列表并不是完全将数据分散在不同的列,而是按照某种规则,将具备同样规则的数据存储在同一列。即 …
导语某缓存系统因引用误用导致10GB内存泄漏!本文通过内存快照分析+GC日志解密,揭示强引用陷阱、软引用失效、弱引用误用、虚引用监控四大核心问题,提供生产级优化方案。文末附内存检测神器。一、强引用:内存泄漏的罪魁祸首灾难现场:Map缓存导致Full GC频繁,服务卡顿15秒问题代码:Map<Long, User> cache = new Conc …
平时一直使用条码系统,遇到条码编码方案:1.直接把数据写到二维码上,使用特殊字符串分割,比如条码数据:IC2024X|B230815|100|WH3-A-12|20230815 ,我们通过分割分隔符|后把数据解析出来。2.方式1属于相对固定的格式,在实践过程中,会遇到几十个属性的情况下,二维码的字符就会很多,造成二维码读写困难。而且每种物料拥有的属性并不相同 …
可扩展概念可扩展性:当需求出现变化时,系统不需要或者仅需要少量修改就可以支持,无须推翻原来重新再搞一遍。划重点:变化,支持思考:1. 预测哪块业务流程可能会发生变化?如何变化?2. 如何来应对可能变化的点?提炼:预测变化 + 应对变化如何预测变化?从产品那了解下一迭代需求是否影响本次开发,例如:本期需求:消息通知是APP推送通知,下一迭代:支持短信通知。所以 …
