- 博客(54)
- 收藏
- 关注
原创 pagehelper之百万级数据查询优化
pagehelper之百万级数据查询优化用过pagehelper的人都知道,那是真香呀,但是当数据量级别越来越大的时候呢?几万,几十万,都没啥感觉,但是当上了百万,千万之后呢?它似乎就不香了呀。pagehelper相关的解析,浅谈什么的这儿就不说了,网上一搜一大把。这儿主要来解决一下百万级别以上的pagehelper的慢查询问题。pagehelper用过的都知道,每次有总页数,总条数,做分页真的是舒服呀。但是了解他原理的时候就知道,这些数据是怎么来的。然后数据库级别达到了百万级以上后,count
2020-08-27 16:26:41
3652
1
原创 Java8 parallelStream——共享线程池对性能解析
最近做压测中发现一个应用中cpu过高,导致接口超时rt情况有些不大稳定,jstack打印线程一直在parallelStream相关的代码出进行计算。故对parallelStream相关做一下研究,找一下优化方法。java8并行流parallelStream,相信很多人都喜欢用,特别方便简单。但是有多少人真正知道里面采用的共享线程池对密集型任务,高并发下的性能影响呢可能你的一个应用里面...
2019-09-30 14:21:35
3720
原创 SAX解析excel,避免oom
poi官网的文档:https://poi.apache.org/components/spreadsheet/how-to.html#xssf_sax_api背景介绍: 今天看到最近有同事有个excel导入oom的情况,然后使用easyExcel解决了,然后没几天,出现了活动金额导入错误的情况,造成了资损,故分享这样一篇文章。 去年12月份,做的项目是批量导...
2018-08-02 21:32:13
6044
5
原创 如何建高可用系统:接口限流
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。凌晨两点,促销活动刚开始3秒,核心服务接口因瞬间流量过载而瘫痪,导致订单大面积失败。复盘结论:缺乏有效的防护,让整个系统在流量洪峰前“裸奔”。本文将带你从零开始,深入浅出,构建一套从算法原理到分布式落地的完整限流方案。
2025-09-10 17:49:43
643
原创 P0:消息序列化失败,Failed Fast导致无限重启
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。”一条价值百万的订单消息因一个陌生的字段无法解析,在队列中轰然“爆炸”,导致整个消费集群接二连三地重启、失败、再重启……今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。今天,我们将深入敌后,构建一套从预防、侦测到恢复的完整处理体系,彻底告别这种令人绝望的循环。在消费逻辑的最外层捕获序列化异常,手动提交已成功处理的消息的Offset,跳过坏消息。遇到序列化失败的消息。
2025-09-05 16:30:35
659
原创 ES是如何实现Master选举的?
Elasticsearch 的 Master 选举机制通过智能的投票配置和多数派原则,有效地解决了分布式系统中的“脑裂”问题,确保了集群的高可用性。理解其背后的原理和配置,对于构建和维护稳定、高性能的 Elasticsearch 集群至关重要。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-07-29 17:48:49
566
原创 临时数据用完该不该删?一场引发团队分裂的数据库哲学之争
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。当项目中的临时表数据量突破10亿条时,团队因“用后即删”还是“永久保留”爆发激烈争论。:某金融项目因物理删除订单快照数据,在审计时无法追溯资金链路,最终被罚2300万。“数字痕迹属于用户数字人格权的一部分,平台无权单方面销毁”真正的工程师精神,是用。
2025-07-24 08:30:00
635
原创 ES中的倒排索引是什么?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。Elasticsearch中的倒排索引(Inverted Index)是搜索引擎最核心的数据结构,也是其实现毫秒级搜索的关键。下面从四个维度深度解析。
2025-07-22 08:30:00
1008
原创 ES倒排索引:如何毫秒内定位100亿数据中的关键词?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。在Elasticsearch中通过词项定位倒排索引的过程是一个的精密协作系统。下面从。
2025-07-17 08:30:00
1017
原创 怎么理解ES的准实时性?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。Elasticsearch的「准实时性」(Near Real-Time, NRT)是其核心特性之一,也是面试高频考点。下面从。
2025-07-15 08:30:00
563
原创 使用es自带的唯一id还是自己生成?面试官为什么问这个问题
典型实现雪花算法(Snowflake)ID业务主键拼接(数据库自增ID映射优势分片路由优化(如用用户ID做分片键)业务关联性强(直接携带业务信息)存储空间更小(Long vs String)缺陷额外ID生成系统复杂度跨系统同步风险(ES与DB不一致)需自行解决冲突(如重试策略)
2025-06-26 17:53:26
625
原创 Zuul动态路由黑洞揭秘:每秒10万并发的刷新策略
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。实现动态Zuul网关路由转发是微服务架构中的核心需求,下面我将从。
2025-06-19 17:35:16
719
原创 Spring Boot自动配置黑魔法:为什么你的Bean总被悄悄创建?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。Spring Boot自动配置是其革命性的核心特性,下面从。
2025-06-17 08:57:41
592
原创 Kafka消息是否有序?怎样保证有序?
分区内有序:Kafka保证同一分区内消息的严格顺序关键实现手段生产者:限制in-flight请求+幂等性消费者:单线程处理+同步提交最佳实践:graph TDA[确定顺序需求] --> B{全局有序?B -->|是| C[单分区方案]B -->|否| D[分区键设计]D --> E[局部有序]C --> F[性能优化]E --> FF --> G[监控验证]通过合理设计分区策略、正确配置客户端参数以及实现健壮的消费者逻辑,可以在满足业务顺序性需求的同时,兼顾系统的高性能和高可用性。
2025-06-10 17:41:53
700
原创 方法内的调用的拦截器一定不会生效吗?
并非所有的方法内的调用的拦截器一定不会生效,如果面试中被问到,可能是在考察你平时是否遇到或者说你对编译阶段的一些理解问题。
2025-05-28 18:00:00
208
原创 最近遇到一个线上慢查询的问题,存在外键却没有索引,那么有啥区别呢?
最近遇到了一个线上慢查询的问题,最后确定是没有创建索引,但是很奇怪的是存在一个外键,那么外键是否能加快查询,与索引区别是什么呢?
2025-04-24 09:58:40
953
原创 二面问到设计模式相关问题,该如何回答获得高分?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。前面我们花了很多文章,介绍了很多常用的设计模式,本篇开始介绍面试该如何回答,一定要选一个你熟悉的设计模式,进行回答,并举例。✅ 安全:“解释器模式在规则引擎中有其价值,但实际项目中我们更多使用现成的表达式解析库(如Spring EL)”今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。
2025-04-16 17:45:38
703
原创 聊一聊:设计模式——观察者模式
观察者模式是一种行为型设计模式,允许对象(观察者)订阅另一个对象(主题)的状态变化,当主题状态改变时,自动通知所有观察者并触发更新操作。
2025-04-15 09:34:47
1144
原创 聊一聊:设计模式——策略模式
策略模式是一种行为型设计模式,通过定义一系列算法族并使其可相互替换,让算法独立于使用它的客户端而变化。其核心在于封装变化点,将算法的选择与执行解耦,使得系统更灵活、易于扩展。
2025-04-11 09:47:31
637
原创 聊一聊:设计模式——解释器模式
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。:用树结构表示表达式,非终结符为枝节点,终结符为叶节点。在词法分析阶段记录错误位置,尝试继续解析后续内容。,通过递归组合实现语义解析。提供了优雅的面向对象解决方案,特别适合需要。等专业工具,在灵活性与性能间取得平衡。:通过链式API简化复杂语法树构建。
2025-04-09 17:43:52
914
原创 聊一聊:设计模式——迭代器模式
迭代器模式是一种行为型设计模式,提供一种方法顺序访问聚合对象(如集合)中的元素,无需暴露其底层表示。核心思想在于解耦遍历逻辑与数据结构,让客户端能够以统一的方式处理不同类型的集合。
2025-04-07 18:11:12
947
原创 聊一聊:设计模式——责任链模式
责任链模式通过链式传递机制,为多级处理逻辑提供了灵活、可扩展的解决方案。在需要动态调整处理流程或解耦请求与处理的场景中,该模式能显著提升代码的可维护性,是处理复杂业务逻辑的利器。
2025-04-02 17:55:13
722
原创 聊一聊:设计模式——代理模式
代理模式通过间接访问机制,在不侵入原始代码的前提下,为系统扩展提供强大灵活性。合理运用静态/动态代理技术,可有效解耦核心逻辑与辅助功能,是构建高维护性、高扩展性架构的关键工具。
2025-04-01 18:11:44
1049
原创 聊一聊:设计模式——桥接模式
桥接模式通过分离抽象与实现,为多维度变化的系统提供了优雅的扩展方案。其核心价值在于提升系统灵活性,使不同维度的变化能够独立演化。在需要应对多个变化轴线或预期未来扩展的场景中,该模式是架构设计的重要工具。
2025-03-31 17:57:10
989
原创 聊一聊:设计模式——组合模式
组合模式通过树形结构建模与统一接口设计,优雅处理部分-整体关系,是构建层次化系统的经典模式。合理应用可提升代码扩展性与可维护性,尤其适用于需递归处理复杂结构的场景。
2025-03-28 18:17:28
786
原创 聊一聊:设计模式——装饰器模式
装饰器模式通过灵活的对象包装机制,为系统功能扩展提供了优雅的解决方案。在面对需要动态、按需增强对象能力的场景时,该模式能显著提升代码的维护性和扩展性,是应对需求变化的有效工具。
2025-03-27 18:11:50
764
原创 聊一聊:设计模式——适配器模式
适配器模式通过**接口转换**实现不同组件的协同工作,是解决系统演进过程中接口不兼容问题的利器。合理使用该模式可提升代码复用性,降低系统耦合度,是架构设计中应对变化的重要策略。
2025-03-26 17:45:00
688
原创 聊一聊:设计模式——工厂方法模式
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。在面对频繁扩展或需要支持多态创建的场景时,该模式是架构设计的优选方案。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。,通过定义创建对象的接口,但将具体实例化过程延迟到子类,实现。,使系统在不修改现有代码的前提下支持新产品的引入。通过参数决定创建哪种产品,结合简单工厂的灵活性。
2025-03-25 17:45:00
516
原创 聊一聊:设计模式——建造者模式
建造者模式通过分步构建与链式调用,优雅解决了复杂对象创建难题。结合不可变对象与参数校验,可显著提升代码健壮性。在参数众多、构造流程复杂或需多版本对象的场景下,该模式是提升代码可维护性的利器。
2025-03-24 17:45:00
666
原创 聊一聊:设计模式——原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,通过复制现有对象来生成新对象,而非通过类实例化。其核心在于实现一个原型接口,声明克隆方法,使得对象能够自我复制,从而避免重复初始化带来的开销。你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。原型模式通过对象自我复制,高效解决复杂对象创建问题,尤其适用于初始化成本高或需动态配置的场景。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。管理多个原型,便于按需获取。
2025-03-20 17:40:57
824
原创 聊一聊:深拷贝与浅拷贝,有哪些应用场景
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。
2025-03-19 17:45:00
969
原创 mysql加字段需要注意什么?
小表直接操作:简单大表使用工具或 Online DDL灰度验证:先在从库或测试环境验证监控回滚:准备好回滚方案(如备份恢复)遵循这些规范,可在保证业务连续性的前提下高效完成字段添加操作。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-18 17:45:00
720
原创 某大厂面试题:http是否有状态
HTTP 本质是无状态的:这是协议设计的基本特性。有状态交互是模拟实现的:通过 Cookie、Session、Token 等技术在应用层补充状态管理。选择策略无状态设计:适合 API 服务、高并发场景(如 CDN)。有状态设计:适合需要用户会话的 Web 应用(如电商、社交平台)。通过合理利用状态管理技术,可以在 HTTP 的无状态基础上构建复杂的有状态应用,同时兼顾性能和功能需求。
2025-03-17 17:45:00
732
原创 为什么Redis对大 Key(Large Key)和大对象不友好?怎样优化?
大 Key 判定标准数据类型大 Key 阈值(参考)String元素数量 > 5000ZSet元素数量 > 3000预防优先:设计阶段避免单个 Key 存储过量数据。拆分为王:通过分片、分页、分业务域降低单个 Key 大小。实时监控:建立大 Key 检测机制,早发现早处理。工具辅助:善用UNLINKMEMORY等 Redis 原生能力。通过以上优化策略,可显著降低大 Key 对 Redis 性能的影响,保障系统高可用与低延迟。
2025-03-14 17:45:00
1165
原创 大厂面试:最简单的String底层,你能答上来么?
Java的String通过不可变性动态编码常量池复用和哈希码缓存等设计,在保证安全性和线程安全的同时,显著提升了性能和内存效率。理解其底层实现有助于编写更高效的代码,避免常见的内存和性能问题。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-13 17:45:00
982
原创 Vim 常用命令的全面总结
通过掌握这些核心命令,Vim 的编辑效率将显著提升。建议通过刻意练习导航练习:仅用h/j/k/l和w/b移动光标编辑挑战:使用d/y/p完成文本重组搜索实战:用和:%s快速修改代码最终目标是形成肌肉记忆,无需思考即可流畅操作。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-13 17:07:05
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅