- 博客(196)
- 收藏
- 关注
原创 前端高手才知道的秘密:Blob 居然这么强大!
你可能一直忽略了 Blob,这个前端内置的小工具,其实能解决大量日常开发问题。无论是图片压缩、文件下载、还是大文件分片上传,Blob 都能在纯前端完成。
2026-01-24 08:57:50
416
原创 偷偷在项目里用了RabbitMQ,因为真的太好用了
小系统不敢用RabbitMQ?同事被技术主管否决后,偷偷在Springboot项目模块里集成!从同步调用卡顿到毫秒级响应,解耦、削峰、失败重试一气呵成。没有过度设计,只有恰到好处的技术选择。
2026-01-23 08:39:19
583
原创 重构了20个SpringBoot项目后,总结出这套稳定高效的架构设计
重构了20+的SpringBoot项目总结出这套高可用架构:模块化设计+统一异常处理+事务优化。代码量减少40%,线上故障下降75%。附完整代码模板,建议收藏!
2026-01-22 08:27:11
565
原创 MySQL 数据表这样设计,会让你的项目更加稳定
新功能要上线,产品经理说要加个字段。你一看表结构,倒吸一口凉气——这表已经30多个字段了,而且好几个字段还是用逗号分隔存一堆值。改还是不改?这是个问题。
2026-01-21 18:18:48
483
原创 这 10 个 Vue3 性能优化技巧很实用,但很多项目都没用上
这篇文章总结了 10 个 Vue3 中最容易被忽略、但对性能提升最有效的实战技巧,适合新老开发者收藏使用。
2026-01-20 20:14:42
568
原创 这 5 个冷门 HTML 标签,让我直接删了100 行 JS 代码!
HTML 不只是结构标签!details、dialog、datalist 等冷门但实用的元素,开箱即用,省去大量 JavaScript 逻辑。
2026-01-17 14:07:07
569
原创 Java 异步调用失败导致系统崩溃?这份重试机制救了我
上线当天,异步任务因为网络不稳定而频繁失败,系统一直不断的报错。我加了重试和延迟机制,让任务自动重新执行,最终才能稳定完成,系统顺利度过流量高峰,再也不用为异步失败而手忙脚乱。
2026-01-16 09:25:00
271
原创 写 CSS 用 px?这 3 个单位能让页面自动适配屏幕
在网页开发中,CSS 单位是控制元素尺寸、间距和排版的基础。长期以来,px(像素)因其直观、精确而被广泛使用。
2026-01-14 10:40:30
557
原创 JavaScript 如何准确判断数据类型?5 种方法深度对比
如何准确判断 JavaScript 数据类型?从 typeof 到 Object.prototype.toString.call(),全面解析5种方法的原理、局限与适用场景,新手也能看懂!
2026-01-13 09:16:40
321
原创 如何避免MySQL死锁?资深DBA的9条黄金法则
MySQL死锁总让你头疼?其实只要做好事务设计、统一操作顺序、加对索引,就能大幅降低风险。本文总结9条实战经验,帮你从根源避免死锁,提升系统稳定性。
2026-01-11 13:28:16
525
原创 MySQL锁机制详解,看这一篇就够了
MySQL的锁机制就像给数据上锁,防止多人同时修改造成混乱。本文用生活例子,带你快速搞懂行锁、表锁、共享锁、间隙锁等常见类型。
2026-01-09 19:31:22
867
原创 Vite 到底是什么?为什么 Vue3 官方推荐它做工程化工具?
Vite 是 Vue3 推荐的现代化构建工具,开发启动快、热更新秒级响应。它利用浏览器原生 ES 模块,省去打包步骤,大幅提升开发体验,同时支持多种框架,配置简单,上手即用。
2026-01-08 11:33:52
993
原创 SpringBoot 如何用 @ControllerAdvice 统一处理异常?
还在每个接口写try-catch?SpringBoot全局异常处理只需一个@ControllerAdvice,统一返回友好错误信息,避免敏感数据泄露,代码更简洁、系统更健壮!适合Java后端开发者快速上手。
2026-01-07 08:30:28
521
原创 Java 创建对象,除了 new 你还知道哪些方式?
Java 创建对象只能用 new 吗?其实还有反射、clone、反序列化、工厂方法、Builder 模式等 8 种方式。本文详解每种适用场景,帮你写出更优雅的代码!
2026-01-06 08:02:33
774
原创 同事问我 MySQL 用啥排序规则,我差点答不上来
MySQL 排序规则怎么选?详解 utf8mb4_0900_ai_ci、utf8mb4_general_ci 和 utf8mb4_bin 的区别,解决大小写敏感、中文排序乱序等常见问题。
2026-01-05 08:46:45
615
原创 JavaScript 防抖和节流的区别是什么?如何实现?
防抖和节流是JavaScript中控制函数执行频率的两种重要技术。防抖在连续操作结束后执行,适合搜索框输入;节流按固定频率执行,适合页面滚动。本文将详解两者区别,并提供完整的代码实现。
2026-01-04 09:22:03
774
原创 Vue 组件通信的 8 种最佳实践,你知道几种?
从父子传值到跨层共享,文章用 8 个实例带你快速上手 Vue3 通信,覆盖表单、弹窗、全局状态等,附避坑指南。还有 ref、$attrs、mitt 等技巧,按场景取舍即可。
2026-01-02 17:11:10
1007
原创 Vue3 的设计目标是什么?相比 Vue2 做了哪些关键优化?
Vue3 为什么更受开发者欢迎?因为它解决了 Vue2 在复杂项目中的痛点。它通过 Proxy 响应式、Composition API、Tree-shaking 等优化,让代码更小、更快、更好维护。
2025-12-31 08:45:24
618
原创 面试必问的BIO、NIO、AIO,原来在实际项目中这样用!
搞不懂Java网络编程的BIO、NIO、AIO?5分钟帮你理清思路!从Spring MVC到微服务网关,不同场景该用哪种I/O模型?为什么高并发要用NIO?大文件处理适合AIO?看完这篇就够了!
2025-12-30 09:04:08
949
原创 如何查看 SpringBoot 当前线程数?3 种方法亲测有效
想知道你的 SpringBoot 服务到底开了多少线程吗?手把手教你用 Actuator 接口、jstack 命令和 VisualVM 工具,实时监控线程状态,快速排查卡顿、阻塞等常见问题,简单高效!
2025-12-29 10:17:38
673
原创 ArrayList 和 LinkedList 的区别?一篇讲透,从此开发和面试都不再纠结
ArrayList 和 LinkedList 到底怎么选?别再被增删快慢误导了!我们从内存结构、访问效率、实际用例出发,带你真正理解两者的区别,小白也能一看就懂。
2025-12-27 09:43:50
685
1
原创 JavaScript 有哪些数据类型?它们在内存里是怎么存的?
你有没有遇到过:改了变量 b,变量 a 也跟着变了?其实这和 JavaScript 的数据类型有关。本文用简单语言讲清楚 JS 的 7 种原始类型和对象类型,以及它们在内存中“栈”和“堆”的存储区别,让你彻底搞懂赋值背后的原理。
2025-12-26 09:27:58
990
原创 async/await 到底要不要加 try-catch?异步错误处理最佳实践
用 async/await 写异步代码很爽,但忘了加 try-catch 就可能让用户“提交了却没成功”。我们这篇文章结合 Vue 实战场景,讲清楚什么时候必须捕获错误、什么时候可以省略,写出更可靠的前端代码。
2025-12-25 08:19:41
1060
原创 B+树是如何工作的?
B+树是一种专门为磁盘存储设计的多路平衡搜索树,它具有以下特点:所有数据都存储在叶子节点;非叶子节点只存储键值和指针;叶子节点之间通过指针相连形成有序链表;保持完美的平衡性。
2025-12-23 14:15:27
53
原创 都在用 Java8 或 Java17,那 Java9 到 16 呢?他们真的没用吗?
为什么大家都在用 Java 8 或 Java 17,却很少听说有人用 Java 9 到 16?其实不是这些版本不好,而是 Oracle 改了发布规则,新特性先在这些版本预览打磨,成熟后才集成到 Java 17。它们默默铺路,成就了今天的现代 Java。
2025-12-23 14:12:12
816
原创 Java 开发必看:什么时候用 for,什么时候用 Stream?
写 Java 时,for 循环和 Stream 到底怎么选?其实很简单:简单遍历用 for,复杂数据处理用 Stream。本文用实际例子讲清楚它们各自的适用场景,帮你写出更清晰、高效的代码。
2025-12-21 10:41:52
893
原创 Java 的金额计算用 long 还是 BigDecimal?资深程序员这样选
新接手的项目竟用long类型处理所有金额!这颠覆了我对BigDecimal的认知。经过一番探究,我发现这并非失误,而是基于并发性能的深思熟虑。本文将分享我的研究结论,彻底讲清金额字段的类型选择问题。
2025-12-17 08:53:56
979
原创 深入理解 CSS 伪类和伪元素的本质区别
为什么CSS有单冒号:和双冒号::?这是很多前端学习者的常见困惑。关键在于理解伪类(选择已有元素的状态)和伪元素(创建新的虚拟元素)。本文将通过清晰讲解和直观演示,帮你彻底明白两者的区别与应用场景。
2025-12-16 22:49:54
849
原创 索引为什么能加速查询
摘要:索引通过建立高效的数据结构(如B+树)显著提升查询性能,避免了全表扫描的高成本。以图书馆找书为例,索引如同书籍目录,能快速定位目标数据。数据库索引分为聚簇索引、二级索引和覆盖索引等类型,使用时需考虑最左前缀原则。虽然索引能极大优化查询速度(提升可达数百倍),但会带来存储开销和写操作性能损耗,需要权衡利弊合理设计。理解索引工作原理有助于开发高效的数据库应用。
2025-12-15 20:38:46
44
原创 都2025年了,你不会还只知道用border做边框吧?
还在用 border 做边框?其实 CSS 里有超多更酷的方式,比如 box-shadow、伪元素、渐变背景,甚至 clip-path 都能玩出花样。
2025-12-15 17:48:11
551
原创 JavaScript 中如何正确判断 null 和 undefined?
那天写前端时,因为一个 undefined 报错,导致页面报错崩溃,于是我加班到深夜,从那以后没有再这么大意了。其实,只要掌握几种正确的判断方式,就能轻松避免这类问题。
2025-12-13 09:28:53
585
原创 这 10 个 MySQL 高级用法,让你的代码又快又好看
SELECT只是起点!掌握WITH子句、条件聚合、EXISTS优化等10个实用技巧,让你的SQL不仅跑得快,还写得优雅。真实项目验证,拿来即用。
2025-12-12 08:25:50
1011
原创 表结构设计:三大范式和反范式
数据库设计是系统性能的基石。本文深入剖析三大范式原理,揭秘范式化与反范式化的平衡艺术,通过真实SQL案例展示订单系统优化、高并发计数等场景的最佳实践,助你构建既一致又高性能的数据架构。
2025-12-11 13:44:53
38
原创 基础SQL语法:SELECT、INSERT、UPDATE、DELETE详解
今天我们来深入学习SQL中最核心的四个命令:SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)
2025-12-11 13:43:30
118
原创 数据类型选择:INT、VARCHAR、DATETIME该怎么选?
数据类型选择不仅是技术决策,更是业务决策。好的数据类型设计能为系统性能、扩展性和维护性奠定坚实基础!
2025-12-11 13:42:04
40
SpringBoot+Vue+mysql实现的仓库管理系统
2025-07-14
全国省市区数据库sql文件最新版(含地区编码)
2024-05-21
java+springboot图片处理Utils类文件
2024-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅