- 博客(47)
- 收藏
- 关注

原创 pagehelper之百万级数据查询优化
pagehelper之百万级数据查询优化用过pagehelper的人都知道,那是真香呀,但是当数据量级别越来越大的时候呢?几万,几十万,都没啥感觉,但是当上了百万,千万之后呢?它似乎就不香了呀。pagehelper相关的解析,浅谈什么的这儿就不说了,网上一搜一大把。这儿主要来解决一下百万级别以上的pagehelper的慢查询问题。pagehelper用过的都知道,每次有总页数,总条数,做分页真的是舒服呀。但是了解他原理的时候就知道,这些数据是怎么来的。然后数据库级别达到了百万级以上后,count
2020-08-27 16:26:41
3574
1

原创 Java8 parallelStream——共享线程池对性能解析
最近做压测中发现一个应用中cpu过高,导致接口超时rt情况有些不大稳定,jstack打印线程一直在parallelStream相关的代码出进行计算。故对parallelStream相关做一下研究,找一下优化方法。java8并行流parallelStream,相信很多人都喜欢用,特别方便简单。但是有多少人真正知道里面采用的共享线程池对密集型任务,高并发下的性能影响呢可能你的一个应用里面...
2019-09-30 14:21:35
3669

原创 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
6007
5
原创 使用es自带的唯一id还是自己生成?面试官为什么问这个问题
典型实现雪花算法(Snowflake)ID业务主键拼接(数据库自增ID映射优势分片路由优化(如用用户ID做分片键)业务关联性强(直接携带业务信息)存储空间更小(Long vs String)缺陷额外ID生成系统复杂度跨系统同步风险(ES与DB不一致)需自行解决冲突(如重试策略)
2025-06-26 17:53:26
529
原创 Zuul动态路由黑洞揭秘:每秒10万并发的刷新策略
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。实现动态Zuul网关路由转发是微服务架构中的核心需求,下面我将从。
2025-06-19 17:35:16
692
原创 Spring Boot自动配置黑魔法:为什么你的Bean总被悄悄创建?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。Spring Boot自动配置是其革命性的核心特性,下面从。
2025-06-17 08:57:41
572
原创 Kafka消息是否有序?怎样保证有序?
分区内有序:Kafka保证同一分区内消息的严格顺序关键实现手段生产者:限制in-flight请求+幂等性消费者:单线程处理+同步提交最佳实践:graph TDA[确定顺序需求] --> B{全局有序?B -->|是| C[单分区方案]B -->|否| D[分区键设计]D --> E[局部有序]C --> F[性能优化]E --> FF --> G[监控验证]通过合理设计分区策略、正确配置客户端参数以及实现健壮的消费者逻辑,可以在满足业务顺序性需求的同时,兼顾系统的高性能和高可用性。
2025-06-10 17:41:53
611
原创 方法内的调用的拦截器一定不会生效吗?
并非所有的方法内的调用的拦截器一定不会生效,如果面试中被问到,可能是在考察你平时是否遇到或者说你对编译阶段的一些理解问题。
2025-05-28 18:00:00
165
原创 最近遇到一个线上慢查询的问题,存在外键却没有索引,那么有啥区别呢?
最近遇到了一个线上慢查询的问题,最后确定是没有创建索引,但是很奇怪的是存在一个外键,那么外键是否能加快查询,与索引区别是什么呢?
2025-04-24 09:58:40
916
原创 二面问到设计模式相关问题,该如何回答获得高分?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。前面我们花了很多文章,介绍了很多常用的设计模式,本篇开始介绍面试该如何回答,一定要选一个你熟悉的设计模式,进行回答,并举例。✅ 安全:“解释器模式在规则引擎中有其价值,但实际项目中我们更多使用现成的表达式解析库(如Spring EL)”今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。
2025-04-16 17:45:38
683
原创 聊一聊:设计模式——观察者模式
观察者模式是一种行为型设计模式,允许对象(观察者)订阅另一个对象(主题)的状态变化,当主题状态改变时,自动通知所有观察者并触发更新操作。
2025-04-15 09:34:47
1052
原创 聊一聊:设计模式——策略模式
策略模式是一种行为型设计模式,通过定义一系列算法族并使其可相互替换,让算法独立于使用它的客户端而变化。其核心在于封装变化点,将算法的选择与执行解耦,使得系统更灵活、易于扩展。
2025-04-11 09:47:31
606
原创 聊一聊:设计模式——解释器模式
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。:用树结构表示表达式,非终结符为枝节点,终结符为叶节点。在词法分析阶段记录错误位置,尝试继续解析后续内容。,通过递归组合实现语义解析。提供了优雅的面向对象解决方案,特别适合需要。等专业工具,在灵活性与性能间取得平衡。:通过链式API简化复杂语法树构建。
2025-04-09 17:43:52
892
原创 聊一聊:设计模式——迭代器模式
迭代器模式是一种行为型设计模式,提供一种方法顺序访问聚合对象(如集合)中的元素,无需暴露其底层表示。核心思想在于解耦遍历逻辑与数据结构,让客户端能够以统一的方式处理不同类型的集合。
2025-04-07 18:11:12
868
原创 聊一聊:设计模式——责任链模式
责任链模式通过链式传递机制,为多级处理逻辑提供了灵活、可扩展的解决方案。在需要动态调整处理流程或解耦请求与处理的场景中,该模式能显著提升代码的可维护性,是处理复杂业务逻辑的利器。
2025-04-02 17:55:13
695
原创 聊一聊:设计模式——代理模式
代理模式通过间接访问机制,在不侵入原始代码的前提下,为系统扩展提供强大灵活性。合理运用静态/动态代理技术,可有效解耦核心逻辑与辅助功能,是构建高维护性、高扩展性架构的关键工具。
2025-04-01 18:11:44
986
原创 聊一聊:设计模式——桥接模式
桥接模式通过分离抽象与实现,为多维度变化的系统提供了优雅的扩展方案。其核心价值在于提升系统灵活性,使不同维度的变化能够独立演化。在需要应对多个变化轴线或预期未来扩展的场景中,该模式是架构设计的重要工具。
2025-03-31 17:57:10
918
原创 聊一聊:设计模式——组合模式
组合模式通过树形结构建模与统一接口设计,优雅处理部分-整体关系,是构建层次化系统的经典模式。合理应用可提升代码扩展性与可维护性,尤其适用于需递归处理复杂结构的场景。
2025-03-28 18:17:28
760
原创 聊一聊:设计模式——装饰器模式
装饰器模式通过灵活的对象包装机制,为系统功能扩展提供了优雅的解决方案。在面对需要动态、按需增强对象能力的场景时,该模式能显著提升代码的维护性和扩展性,是应对需求变化的有效工具。
2025-03-27 18:11:50
725
原创 聊一聊:设计模式——适配器模式
适配器模式通过**接口转换**实现不同组件的协同工作,是解决系统演进过程中接口不兼容问题的利器。合理使用该模式可提升代码复用性,降低系统耦合度,是架构设计中应对变化的重要策略。
2025-03-26 17:45:00
660
原创 聊一聊:设计模式——工厂方法模式
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。在面对频繁扩展或需要支持多态创建的场景时,该模式是架构设计的优选方案。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。,通过定义创建对象的接口,但将具体实例化过程延迟到子类,实现。,使系统在不修改现有代码的前提下支持新产品的引入。通过参数决定创建哪种产品,结合简单工厂的灵活性。
2025-03-25 17:45:00
493
原创 聊一聊:设计模式——建造者模式
建造者模式通过分步构建与链式调用,优雅解决了复杂对象创建难题。结合不可变对象与参数校验,可显著提升代码健壮性。在参数众多、构造流程复杂或需多版本对象的场景下,该模式是提升代码可维护性的利器。
2025-03-24 17:45:00
637
原创 聊一聊:设计模式——原型模式
原型模式(Prototype Pattern)是一种创建型设计模式,通过复制现有对象来生成新对象,而非通过类实例化。其核心在于实现一个原型接口,声明克隆方法,使得对象能够自我复制,从而避免重复初始化带来的开销。你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。原型模式通过对象自我复制,高效解决复杂对象创建问题,尤其适用于初始化成本高或需动态配置的场景。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。管理多个原型,便于按需获取。
2025-03-20 17:40:57
780
原创 聊一聊:深拷贝与浅拷贝,有哪些应用场景
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。
2025-03-19 17:45:00
889
原创 mysql加字段需要注意什么?
小表直接操作:简单大表使用工具或 Online DDL灰度验证:先在从库或测试环境验证监控回滚:准备好回滚方案(如备份恢复)遵循这些规范,可在保证业务连续性的前提下高效完成字段添加操作。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-18 17:45:00
579
原创 某大厂面试题:http是否有状态
HTTP 本质是无状态的:这是协议设计的基本特性。有状态交互是模拟实现的:通过 Cookie、Session、Token 等技术在应用层补充状态管理。选择策略无状态设计:适合 API 服务、高并发场景(如 CDN)。有状态设计:适合需要用户会话的 Web 应用(如电商、社交平台)。通过合理利用状态管理技术,可以在 HTTP 的无状态基础上构建复杂的有状态应用,同时兼顾性能和功能需求。
2025-03-17 17:45:00
679
原创 为什么Redis对大 Key(Large Key)和大对象不友好?怎样优化?
大 Key 判定标准数据类型大 Key 阈值(参考)String元素数量 > 5000ZSet元素数量 > 3000预防优先:设计阶段避免单个 Key 存储过量数据。拆分为王:通过分片、分页、分业务域降低单个 Key 大小。实时监控:建立大 Key 检测机制,早发现早处理。工具辅助:善用UNLINKMEMORY等 Redis 原生能力。通过以上优化策略,可显著降低大 Key 对 Redis 性能的影响,保障系统高可用与低延迟。
2025-03-14 17:45:00
1084
原创 大厂面试:最简单的String底层,你能答上来么?
Java的String通过不可变性动态编码常量池复用和哈希码缓存等设计,在保证安全性和线程安全的同时,显著提升了性能和内存效率。理解其底层实现有助于编写更高效的代码,避免常见的内存和性能问题。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-13 17:45:00
911
原创 Vim 常用命令的全面总结
通过掌握这些核心命令,Vim 的编辑效率将显著提升。建议通过刻意练习导航练习:仅用h/j/k/l和w/b移动光标编辑挑战:使用d/y/p完成文本重组搜索实战:用和:%s快速修改代码最终目标是形成肌肉记忆,无需思考即可流畅操作。今天文章就分享到这儿,喜欢的朋友可以关注我的公众号,回复“进群”,可进免费技术交流群。博主不定时回复大家的问题。公众号:吴计可师。
2025-03-13 17:07:05
732
原创 最新大厂二面面试题,看似简单,怎样才能拿高分呢?
Redis 3.2 之后的版本根据字符串长度优化了 SDS 类型,共有5 种结构体// Redis 5.0+ 的 SDS 结构示例(sdshdr8)// 已用长度(最大 2^8-1)// 总分配容量(排除头和空终止符)// 类型标识(低3位表示类型,高5位未用)char buf[];// 实际数据存储(兼容C字符串)现在基于底层Redis 的 String 类型通过 SDS 数据结构 和 智能编码策略,来回答Java的String与Redis的String的区别。
2025-03-12 17:27:28
988
原创 大厂二面面试题居然跟简单的String相关,你能答上来么?
你好,我是风一样的树懒,一个工作十多年的后端专家,曾就职京东、阿里等多家互联网头部企业。最近跟面试小米的候选人聊天,得知他们的二面居然跟简单的String相关,但是似乎不大好回答。今天这篇文章我们讲解一个基础版本的回答,从使用层面上面来回答。Java 的String和 Redis 的String虽然名称相同,但它们在底层实现、功能特性和使用场景上有显著差异。
2025-03-11 17:19:38
677
原创 Python使用pip安装Caused by SSLError:certificate verify failed
最近公司电脑受限,安装conda好像有点问题,不让安装。只能pip硬装了:使用pip安装的时候一直报错:pip在通过 HTTPS 协议从 PyPI 拉取包时,无法验证 SSL 证书,导致请求失败。通常这个问题是因为本地环境缺少必要的 CA 证书或 SSL 配置不正确。以下是解决这个问题的几种方法:我的是属于用了代理导致的问题....
2025-01-07 09:26:12
2106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人