- 博客(21)
- 收藏
- 关注
原创 用大白话向您通俗易懂地解释索引优化技巧!!!!
索引是数据库中用于快速查找数据的一种结构,类似于字典的目录,能直接指向所需信息的位置,提高查询效率。
2025-05-17 11:13:34
539
原创 用生活场景带你快速了解RabbitMQ!!!!
RabbitMQ 就像一个智能的中转站,让不同系统之间不用直接“打电话”,而是通过“留言”来协作。可靠性:消息不丢失,支持持久化。灵活性:通过路由规则动态分配消息。扩展性:轻松增加更多生产者或消费者。适合用在需要解耦、异步处理或应对高并发的场景,比如电商、即时通讯、日志收集等。
2025-04-20 12:55:00
567
原创 一些开发中常见的设计模式
设计模式是工具,不是银弹,核心是封装变化和分离关注点。编程思想是内功,帮助你写出更灵活、可维护的代码。结合具体场景灵活运用,才能真正掌握设计模式的精髓!
2025-04-12 14:27:42
860
原创 用生活场景带你快速理解动态规划算法思想
想象你有一个存钱罐,每天往里面存钱,但每次存钱时都要回答一个问题:“现在罐子里总共有多少钱?”如果用笨方法,每次都要把罐子里的钱全部倒出来数一遍,效率极低(类似暴力递归的重复计算)。而动态规划的做法是:拿个小本本记录每次存钱后的总额,下次直接查账本,不用再倒钱。记住过去的结果:避免重复计算(记账本)。大问题拆小问题:把复杂问题分解为简单子问题(比如总存款 = 昨天存款 + 今天存的钱)。最优子结构:每个小问题的最优解能组合成大问题的最优解(比如每天存钱的最优策略决定最终存款)。问题:你要爬10级台阶,每
2025-04-07 19:36:36
815
原创 用生活场景带你轻松理解面向对象思想
你按下“制作豆浆”按钮,它内部如何磨豆、加热、过滤,你完全不用管。:厨师听到“做油条”和“做豆浆”,会调用不同的制作方法,但对你来说都是“准备早餐”。:现金、支付宝、微信支付 —— 收银员只说“请支付10元”,不同支付方式自动处理。:你按下电视遥控器的“开机”按钮,无论电视是索尼还是小米,都能开机。:只写“豆浆5元”、“油条3元”,不写豆浆机型号、油条炸几分钟。:你继承了父母的姓氏和血型,但你有自己的特长(比如会写代码)。:油条需要油炸,包子需要蒸,但它们都继承自同一个父类。,它们各司其职,互相协作。
2025-04-06 15:51:53
628
原创 用奶茶店的生活场景带你理解线程池相关知识点
假设你开了个奶茶店(线程池),需要招人处理订单(任务)。:人满时的应对措施——赶客、让顾客自己动手做奶茶、偷偷记下电话稍后联系等(下文细说)。:店内最多容纳10个排队顾客(任务队列),超出后触发「拒绝策略」。:防止突发流量冲垮服务器,队列满时由调用线程处理(降级)。:任务暴涨时可能创建大量线程,导致系统崩溃。:即使没顾客(任务),也得留3个员工摸鱼,:需要顺序处理任务(如日志顺序写入)。:高峰期允许再雇2人(总5人),但。:顾客E到K(共10人)陆续进店,:短时高频任务(如突发流量请求)。
2025-03-29 21:05:57
924
原创 用生活场景带你理解数据库索引设计原则
设计索引就像挑餐厅——既要好吃(查询快),又不能太贵(维护成本低)。(user_id是INT,但用了字符串)→ 数据库默默做类型转换,索引失效!❌ 给性别建索引 ≈ 给餐厅的「辣/不辣」标签建索引——没啥用!→ 无法用索引(就像点了B和C套餐,但餐厅只卖A+B+C)。→ 优势:数据库只需读索引,不碰数据文件,速度快如闪电!→ 理由:先定位部门(等值),再排序工资(范围)。:索引包含查询所需的所有字段,无需回表查数据。条件不同,考虑联合索引(见下文)。:字段的唯一值越多,索引越有效。(若b无索引,全表扫描)
2025-03-29 11:09:45
1239
原创 用大白话讲清楚部署上线项目的几种方式!!!
想体验《荒野求生》→ 物理服务器想快速上线不折腾→ 云服务器想环境一致防甩锅→ Docker想极致省钱不怕冷→ Serverless记住:没有最好的方式,只有最适合的姿势!🚀。
2025-03-25 12:00:00
696
原创 一文讲清楚后端开发中常用中间件的作用以及应用场景
中间件(Middleware)在后端开发中就像「管道中的过滤器」或「请求的交通指挥员」,它们位于客户端和服务器之间,负责处理请求、数据转换、安全验证等任务。:将请求转发给后端的多个应用服务器(比如 Tomcat、Node.js)。:订单系统生成订单后,通过消息队列通知库存系统扣减库存,两者互不阻塞。:将 HTTP 请求转化为程序能处理的数据结构(比如 JSON)。:突发流量时,先将请求堆积在队列中,后端慢慢处理。:根据路径将请求分发到不同服务,并限制每秒请求数。:将数据库查询结果缓存(比如热门商品信息)。
2025-03-24 19:17:46
1597
原创 拦截器:开发过程中的安检门
在请求到达具体业务代码(如Controller)前,或离开后,插入自定义逻辑(如日志、权限、参数处理)。:请求继续向后执行(Controller → Service → 数据库):有效则放行到影厅(真正的业务代码),无效则直接拒绝(比如返回错误提示):拦截器统一检查票的有效性(比如权限验证、日志记录):所有观众(请求)必须经过安检门(拦截器)全局日志记录(记录请求路径、IP等信息):直接拦截请求,后续流程不再执行。接口耗时统计(记录请求开始时间)权限验证(如检查用户是否登录)敏感词过滤(修改请求参数)
2025-03-18 20:39:27
311
原创 用《肖申克的救赎》带你轻松理解面向对象编程思想!!!
肖申克监狱中的每个角色(如安迪、典狱长、狱警、囚犯)都有自己的属性和行为。:安迪用海报掩盖地道,将复杂的越狱计划封装在“私人方法”中,外界只能看到他表面的合规行为(如帮典狱长洗钱、管理图书馆)。:典狱长、狱警、囚犯虽然角色不同,但都属于“监狱系统”的一部分,共享某些共同属性(如姓名、职位)。:监狱中所有物品(如书籍、海报、锤子)需要被严格记录,每个物品有明确属性(名称、类型、存放位置)。:囚犯需要完成不同类型的劳动(洗衣、修屋顶、挖隧道),但所有劳动都有共同规则(如按时完成)。
2025-03-17 12:07:40
1155
原创 用大白话帮你理清spring,springboot,springMVC之间的区别与联系
用大白话帮你理清spring,springboot,springMVC之间的关系
2025-03-15 20:49:20
660
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅