<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ibigboy]]></title><description><![CDATA[像风走了八千里，不问归期]]></description><link>https://blog.csdn.net/ibigboy</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ibigboy]]></copyright><item><title><![CDATA[为什么我们放弃了Kubernetes？]]></title><link>https://blog.csdn.net/ibigboy/article/details/161738035</link><guid>https://blog.csdn.net/ibigboy/article/details/161738035</guid><author>ibigboy</author><pubDate>Sat, 06 Jun 2026 09:30:19 +0800</pubDate><description><![CDATA[【摘要】开发团队因行业趋势在2019年上线K8s，但随后面临运维复杂度高、故障排查困难等问题。团队缺乏专职SRE，开发人员被迫分散精力处理集群问题，导致两次严重事故后，于2021年决定回迁物理机+Ansible。迁移后故障率下降，团队专注力提升，但失去了弹性扩缩等能力。作者总结：K8s适合有运维能力、业务量大且能持续投入的团队，技术决策应结合实际情况，盲目跟风可能适得其反。"知道什么不该做"有时比追赶技术潮流更重要。（149字）]]></description><category></category></item><item><title><![CDATA[8年Java老兵，我想和你聊聊面试这件事]]></title><link>https://blog.csdn.net/ibigboy/article/details/159858319</link><guid>https://blog.csdn.net/ibigboy/article/details/159858319</guid><author>ibigboy</author><pubDate>Sun, 05 Apr 2026 18:04:54 +0800</pubDate><description><![CDATA[技术这条路，没有捷径。但面试有方法。希望这个专栏，能帮你在下一次面试中，多一分从容，多一分自信。如果你准备好了，我们开始吧。Java面试通关宝典下一篇：第1篇：HashMap源码全解析：从put到扩容的完整流程2026年4月5日。]]></description><category></category></item><item><title><![CDATA[面试必问：HashMap 和 ConcurrentHashMap 的区别，这次彻底说清楚]]></title><link>https://blog.csdn.net/ibigboy/article/details/159855034</link><guid>https://blog.csdn.net/ibigboy/article/details/159855034</guid><author>ibigboy</author><pubDate>Sun, 05 Apr 2026 12:30:54 +0800</pubDate><description><![CDATA[先说区别 → 展开线程安全机制 → 说 JDK 版本演进 → 点出注意事项开口可以这样说：“HashMap 线程不安全，主要体现在并发 put 时可能数据丢失，JDK7 还有扩容死循环的问题。ConcurrentHashMap 是线程安全的，JDK7 用分段锁，JDK8 改成了 CAS + synchronized 锁单个桶的方式，锁粒度更细，并发性能更好。get 操作因为 Node 的 val 用了 volatile 修饰，不需要加锁。]]></description><category></category></item><item><title><![CDATA[MySQL 索引为什么会失效？这8种情况我都踩过]]></title><link>https://blog.csdn.net/ibigboy/article/details/159852038</link><guid>https://blog.csdn.net/ibigboy/article/details/159852038</guid><author>ibigboy</author><pubDate>Sun, 05 Apr 2026 10:25:27 +0800</pubDate><description><![CDATA[索引失效大部分时候都能通过EXPLAIN发现，养成写完慢查询就EXPLAIN一下的习惯，能省很多事。遇到过其他奇怪的索引失效场景欢迎评论区说，说不定你的经历能帮到别人。欢迎关注【BiggerBoy】公~号，更多技术文章第一时间获得。]]></description><category></category></item><item><title><![CDATA[Spring Boot 项目启动卡住不动，排查了2小时终于找到原因]]></title><link>https://blog.csdn.net/ibigboy/article/details/159318803</link><guid>https://blog.csdn.net/ibigboy/article/details/159318803</guid><author>ibigboy</author><pubDate>Sat, 21 Mar 2026 15:15:57 +0800</pubDate><description><![CDATA[上周帮同事看一个问题，Spring Boot 项目本地跑得好好的，部署到测试环境之后启动就卡住了，日志停在那一行不动，也不报错，就是不起来。一开始以为是内存不够，加了参数还是一样。后来花了将近2小时才定位到是数据库连接池在等待连接，而连接一直建立不上。这种"卡住不动"的问题比直接报错还难搞，因为没有任何提示。我把常见的几种原因整理了一下，下次遇到可以对着逐一排查。]]></description><category></category></item><item><title><![CDATA[深夜告警：一次线上 OOM 的完整排查实录]]></title><link>https://blog.csdn.net/ibigboy/article/details/159317934</link><guid>https://blog.csdn.net/ibigboy/article/details/159317934</guid><author>ibigboy</author><pubDate>Sat, 21 Mar 2026 14:07:32 +0800</pubDate><description><![CDATA[《Java OOM故障排查实战指南》摘要：本文分享一套高效的Java堆内存溢出(OOM)排查流程。首先强调保留现场的重要性，建议配置-XX:+HeapDumpOnOutOfMemoryError参数自动生成内存快照。通过jstat快速分析GC情况判断是否内存泄漏，使用MAT工具解析dump文件定位问题对象。文中以实际案例展示如何发现一个无限制增长的HashMap本地缓存，并给出改用Guava Cache或Caffeine的解决方案。最后强调补监控、压测验证和故障复盘的必要性。全文提供从告警触发到问题修复的完]]></description><category></category></item><item><title><![CDATA[AQS系列文章 | 并发编程基石：为什么需要AQS？]]></title><link>https://blog.csdn.net/ibigboy/article/details/148110693</link><guid>https://blog.csdn.net/ibigboy/article/details/148110693</guid><author>ibigboy</author><pubDate>Wed, 21 May 2025 12:49:39 +0800</pubDate><description><![CDATA[全称：AbstractQueuedSynchronizer（抽象队列同步器）身份包中的抽象类职责：为构建锁和同步器提供基础设施（如线程排队、状态管理）AQS就像乐高积木：你不需要从零造轮子，只需组合它提供的基础模块（状态管理、线程排队），就能搭建出ReentrantLock、Semaphore等强大的同步工具。下一篇预告《AQS核心原理：状态与队列机制》——我们将拆解AQS内部的神秘“计数器”和“排队区”，用动画演示线程如何有序等待！]]></description><category></category></item><item><title><![CDATA[为什么SSE协议默认只允许你开6个“聊天窗口”？]]></title><link>https://blog.csdn.net/ibigboy/article/details/148075196</link><guid>https://blog.csdn.net/ibigboy/article/details/148075196</guid><author>ibigboy</author><pubDate>Tue, 20 May 2025 09:15:00 +0800</pubDate><description><![CDATA[SSE的连接限制不是SSE本身的问题，而是浏览器对HTTP/1.1的“历史包袱”。想象一下，你开了一家网红奶茶店，顾客排了100人的队，但店里只有6个取餐窗口。无论后面的人多着急，同一时间只能服务6个人。的产物，如今网速和服务器性能早就今非昔比，但浏览器为了兼容性，还是默认遵守了这个“祖传规矩”。每个“分店”都有自己的6个窗口，10个分店就能开60个连接！——而“规定只能开6个窗口”的，其实是。适合本地开发调试，但。]]></description><category></category></item><item><title><![CDATA[Redis秒变搜索引擎！RediSearch入门指南：功能详解+实战教程]]></title><link>https://blog.csdn.net/ibigboy/article/details/148075050</link><guid>https://blog.csdn.net/ibigboy/article/details/148075050</guid><author>ibigboy</author><pubDate>Mon, 19 May 2025 21:34:22 +0800</pubDate><description><![CDATA[RediSearch 是 Redis 生态中的“搜索利器”，适合快速搭建实时搜索服务。从安装到实战，只需几行命令即可体验！]]></description><category></category></item><item><title><![CDATA[Spring AI实战15分钟上手：从零对接大模型API/流式响应/企业知识库增强（文末附源码）]]></title><link>https://blog.csdn.net/ibigboy/article/details/148039487</link><guid>https://blog.csdn.net/ibigboy/article/details/148039487</guid><author>ibigboy</author><pubDate>Sun, 18 May 2025 09:14:49 +0800</pubDate><description><![CDATA[使用Spring AI 实现【AI对话】【上下文感知的智能回复生成】、【对话历史管理】！通过本次实战，我们不仅完成了从大模型对接到知识增强的完整技术闭环，更验证了Spring AI在企业级AI应用中的独特价值——5行代码对接主流大模型，20分钟构建知识增强管道，这正是Java开发者拥抱AI时代的利器。技术永不眠，当你在实际部署中遇到embedding优化、RAG精度提升等深度问题时，欢迎在评论区留下你的实践思考。关注【BiggerBoy】公众号，回复「AI全栈」获取本次工程源码！]]></description><category></category></item><item><title><![CDATA[WebSocket之外，SSE协议为何被大厂悄悄采用？]]></title><link>https://blog.csdn.net/ibigboy/article/details/147837526</link><guid>https://blog.csdn.net/ibigboy/article/details/147837526</guid><author>ibigboy</author><pubDate>Fri, 09 May 2025 21:10:58 +0800</pubDate><description><![CDATA[SSE（Server-Sent Events，服务器发送事件）是一种基于 HTTP 的协议，允许服务器向客户端（如浏览器）主动推送实时数据。它是 HTML5 规范的一部分，旨在简化单向实时通信的实现。SSE 是替代传统轮询（Polling）和长轮询（Long Polling）的高效方案，适用于需要服务器主动推送的实时场景。关注【BiggerBoy】公众号，获取更多技术干货！文章首发于公众号：BiggerBoy。使用 JavaScript 的。]]></description><category></category></item><item><title><![CDATA[RocketMQ半消息对消费者不可见是如何实现的？——事务消息机制揭秘]]></title><link>https://blog.csdn.net/ibigboy/article/details/147832960</link><guid>https://blog.csdn.net/ibigboy/article/details/147832960</guid><author>ibigboy</author><pubDate>Fri, 09 May 2025 17:06:10 +0800</pubDate><description><![CDATA[——“半消息藏在这里，但为什么你偷看也没用？上篇中提到“TBW102是RocketMQ预留的事务消息Topic”，是什么意思？为什么消费者看不到半消息？是如何实现的？带着这些疑问，开启今天的探索之旅！这句话隐藏的意思就是：生产者发送事务消息时实际Broker会把半消息存储到TBW102这个Topic。当生产者通知Broker提交时，Broker会将消息发送到生产者指定的Topic，此时消费者才能消费该消息。]]></description><category></category></item><item><title><![CDATA[RocketMQ系列笔记：从入门到精通，全面掌握消息中间件]]></title><link>https://blog.csdn.net/ibigboy/article/details/145958527</link><guid>https://blog.csdn.net/ibigboy/article/details/145958527</guid><author>ibigboy</author><pubDate>Sun, 02 Mar 2025 09:19:54 +0800</pubDate><description><![CDATA[RocketMQ的发展历程就像一部“从草根到顶流”的励志剧。从最初的Notify到如今的RocketMQ 5.0，它不仅在阿里巴巴内部“扛起了双十一的大旗”，还在全球范围内成为了消息中间件的“顶流”。无论是“削峰填谷”还是“云原生进化”，RocketMQ都在不断突破自我，成为分布式系统中的“扛把子”。接下来的系列笔记将带你深入RocketMQ的每一个细节，从入门到精通，从理论到实战，让你轻松掌握这款“顶流”消息中间件！🚀。]]></description><category></category></item><item><title><![CDATA[RocketMQ二面通关秘籍：面试官问得太细，这些问题你准备好了吗？]]></title><link>https://blog.csdn.net/ibigboy/article/details/145958266</link><guid>https://blog.csdn.net/ibigboy/article/details/145958266</guid><author>ibigboy</author><pubDate>Sun, 02 Mar 2025 09:07:52 +0800</pubDate><description><![CDATA[Consumer集群部署可以提高消息的消费能力，避免单点故障。顺序写盘可以大大提高磁盘的写入性能，而零拷贝技术可以减少数据在内核空间和用户空间之间的拷贝次数，从而提高消息的传输效率。例如，如果一个Topic有8个队列，但部署了10个Consumer实例，那么只有8个Consumer实例会分配到队列并消费消息，剩下的2个Consumer实例会处于空闲状态。这会导致Producer无法将消息发送到新的Broker节点，Consumer也无法从新的Broker节点拉取消息，最终可能导致消息发送失败或消费延迟。]]></description><category></category></item><item><title><![CDATA[从零开始：使用Ollama本地部署DeepSeek大模型]]></title><link>https://blog.csdn.net/ibigboy/article/details/145850583</link><guid>https://blog.csdn.net/ibigboy/article/details/145850583</guid><author>ibigboy</author><pubDate>Tue, 25 Feb 2025 13:32:02 +0800</pubDate><description><![CDATA[通过Ollama本地部署DeepSeek大模型，你不仅可以摆脱服务器繁忙的困扰，还能享受更高的隐私性和定制化体验。无论是学习、工作还是创作，DeepSeek都能成为你的得力助手。赶快动手试试吧，开启你的AI探索之旅！希望这篇博客能帮助你顺利完成DeepSeek的本地部署。如果你有任何问题或建议，欢迎在评论区留言讨论！]]></description><category></category></item><item><title><![CDATA[深入理解 MySQL 事务隔离级别：从“读未提交”到“串行化”的全面解析]]></title><link>https://blog.csdn.net/ibigboy/article/details/145850506</link><guid>https://blog.csdn.net/ibigboy/article/details/145850506</guid><author>ibigboy</author><pubDate>Tue, 25 Feb 2025 13:20:43 +0800</pubDate><description><![CDATA[事务隔离级别（Transaction Isolation Level）是数据库管理系统（DBMS）用来控制事务并发执行时，数据可见性和一致性的机制。不同的隔离级别决定了事务在并发执行时，能够看到其他事务的哪些修改，以及如何避免并发问题。通过本文，我们深入探讨了 MySQL 的四种事务隔离级别，分析了它们的特点、行为、实现机制以及适用场景。希望这篇文章能帮助你更好地理解 MySQL 的事务隔离级别，并在实际开发中做出更合理的选择。如果你有任何问题，欢迎随时留言讨论~ 😄附：事务隔离级别与并发问题的关系图。]]></description><category></category></item><item><title><![CDATA[从零开始：手把手教你使用Ollama本地部署DeepSeek大模型]]></title><link>https://blog.csdn.net/ibigboy/article/details/145806453</link><guid>https://blog.csdn.net/ibigboy/article/details/145806453</guid><author>ibigboy</author><pubDate>Sun, 23 Feb 2025 10:59:36 +0800</pubDate><description><![CDATA[通过Ollama本地部署DeepSeek大模型，你不仅可以摆脱服务器繁忙的困扰，还能享受更高的隐私性和定制化体验。无论是学习、工作还是创作，DeepSeek都能成为你的得力助手。赶快动手试试吧，开启你的AI探索之旅！希望这篇博客能帮助你顺利完成DeepSeek的本地部署。如果你有任何问题或建议，欢迎在评论区留言讨论！]]></description><category></category></item><item><title><![CDATA[MySQL笔记 | 事务与隔离级别：从“转账”到“数据安全”的奇幻之旅]]></title><link>https://blog.csdn.net/ibigboy/article/details/145651086</link><guid>https://blog.csdn.net/ibigboy/article/details/145651086</guid><author>ibigboy</author><pubDate>Sun, 23 Feb 2025 08:27:18 +0800</pubDate><description><![CDATA[通过这篇文章，我们从生活中的“转账”出发，深入探讨了 MySQL 事务和隔离级别的核心知识。我们学习了事务的 ACID 特性、四种隔离级别、事务的实现机制（Undo Log、Redo Log、MVCC），以及事务的实战应用和注意事项。事务和隔离级别是 MySQL 中非常重要的概念，掌握它们不仅能帮助你写出更健壮的代码，还能让你在面试中脱颖而出。希望这篇文章能让你对 MySQL 事务和隔离级别有更深入的理解！]]></description><category></category></item><item><title><![CDATA[MySQL笔记 | 一条更新语句是如何执行的？]]></title><link>https://blog.csdn.net/ibigboy/article/details/145649420</link><guid>https://blog.csdn.net/ibigboy/article/details/145649420</guid><author>ibigboy</author><pubDate>Mon, 17 Feb 2025 18:40:34 +0800</pubDate><description><![CDATA[连接器：验证你的身份和权限，建立连接。分析器：检查 SQL 语句的语法是否正确，生成语法树。优化器：选择最优的执行计划，决定如何使用索引、如何定位要更新的记录等。执行器调用存储引擎的接口，读取要更新的数据。写入 Undo Log，记录更新前的状态。更新数据。写入 Redo Log，确保更新操作持久化。写入 Binlog，记录数据修改操作。事务提交提交 Redo Log。提交 Binlog。释放锁资源。返回结果：返回更新操作的影响行数。]]></description><category></category></item><item><title><![CDATA[MySQL笔记 | 一条查询语句是怎么执行的？]]></title><link>https://blog.csdn.net/ibigboy/article/details/145648668</link><guid>https://blog.csdn.net/ibigboy/article/details/145648668</guid><author>ibigboy</author><pubDate>Sun, 16 Feb 2025 09:44:48 +0800</pubDate><description><![CDATA[连接器：验证你的身份和权限，建立连接。查询缓存：检查是否有缓存可以直接使用（MySQL 8.0之后已移除）。分析器：检查SQL语句的语法是否正确，生成语法树。优化器：选择最优的执行计划，决定如何使用索引、表的连接顺序等。执行器：调用存储引擎的接口，真正执行SQL语句，返回结果。这个过程就像是一场“奇幻之旅”，SQL语句从你手中出发，经过层层关卡，最终带着结果回到你身边。虽然过程复杂，但MySQL的每个组件都各司其职，确保SQL语句能够高效、准确地执行。]]></description><category></category></item></channel></rss>