<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_71836706的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_71836706</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_71836706]]></copyright><item><title><![CDATA[使用 Arthas + Heapdump + MAT 三步定位 Java 内存泄漏]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/156751369</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/156751369</guid><author>m0_71836706</author><pubDate>Fri, 09 Jan 2026 10:03:55 +0800</pubDate><description><![CDATA[在解决 Java 应用内存泄漏问题的道路上，选择合适的工具是成功的关键一步。就好比一名工匠，要打造出精美的器物，必先磨砺好手中的工具。接下来，我们将详细介绍两款在内存泄漏排查中发挥重要作用的工具 ——Arthas 和 MAT，以及它们的准备工作。Arthas 的安装过程十分简便。我们只需通过命令行执行以下操作，即可轻松完成安装：


在启动 Arthas 后，它会自动扫描当前机器上正在运行的所有 Java 进程，并以列表的形式展示出来，就像一份清晰的菜单，供我们选择。我们只需根据提示，输入目标 Java 进]]></description><category></category></item><item><title><![CDATA[三步搞定CPU飙升！Arthas实战指南：thread+trace+profiler高效排查法]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/156145417</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/156145417</guid><author>m0_71836706</author><pubDate>Mon, 22 Dec 2025 11:32:42 +0800</pubDate><description><![CDATA[在 Java 应用的高并发战场中，CPU 使用率突然飙升至 90%+ 是常见 “险情”。传统排查方式如重启服务、离线分析线程 dump，往往耗时费力且难以捕捉实时现场。Arthas 作为阿里巴巴开源的 Java 诊断神器，支持在不重启应用的情况下，通过 thread 命令定位问题线程、trace 命令追踪方法耗时、profiler 命令生成火焰图，三步锁定 CPU 瓶颈，成为线上诊断的 “瑞士军刀”。本文将通过实战案例，带你掌握这套高效排查方案。]]></description><category></category></item><item><title><![CDATA[面试必问的ThreadLocal核心考点：从原理到实战]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/155742739</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/155742739</guid><author>m0_71836706</author><pubDate>Tue, 09 Dec 2025 13:55:21 +0800</pubDate><description><![CDATA[无论是否在线程池环境下，使用完 ThreadLocal 后，必须调用 remove () 方法清理数据，这是避免内存泄漏和脏数据问题的关键。特别是在线程池场景中，由于线程会被复用，如果不及时清理，下一个任务可能会获取到上一个任务残留的数据，导致业务逻辑出现错误。为了确保清理操作一定会执行，推荐将 remove () 方法放在 finally 块中，这样即使业务逻辑出现异常，也能保证 ThreadLocal 中的数据被正确清理。try {// 执行业务逻辑。]]></description><category></category></item><item><title><![CDATA[分布式ID方案、雪花算法与时钟回拨问题]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/155498265</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/155498265</guid><author>m0_71836706</author><pubDate>Tue, 02 Dec 2025 16:19:02 +0800</pubDate><description><![CDATA[我们倾向于在数据库中使用自增主键，是因为自增主键可以迫使数据库的B+树朝着一个方向增长，新数据总是追加到树的末尾，避免了中间节点的分裂，从而获得最佳的插入性能。这种设计保证了ID的唯一性：时间戳是递增的，不同时刻产生的ID肯定不同；需要注意的是，在当前的技术面试环境中，仅仅答出雪花算法可能已经不够突出，我们需要在理解雪花算法的基础上，找到更多的亮点。总结来说，雪花算法可以看作是一种设计思想，借助时间戳和分段机制，我们可以自由切割ID的不同比特位，赋予其不同的含义，灵活设计符合自己业务场景的ID生成算法。]]></description><category></category></item><item><title><![CDATA[MySQL 慢查询优化实战指南]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/155262141</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/155262141</guid><author>m0_71836706</author><pubDate>Wed, 26 Nov 2025 09:56:31 +0800</pubDate><description><![CDATA[MySQL 慢查询优化并非一蹴而就，需建立 “总纲指引 — 手段落地 — 效果验证” 的闭环思维。核心要点可总结为：​优化前明确目标与瓶颈，不盲目操作；​始终遵循 “小结果集驱动大结果集”“只取所需列”“索引适配查询与排序” 三大核心原则；​善用explain执行计划，精准定位索引、排序、Join 等环节的问题；​高并发场景下，优先保证查询稳定性，避免复杂 Join 与大量排序操作；​优化后需通过压测验证效果，确保在高并发场景下仍能满足性能目标。​。]]></description><category></category></item><item><title><![CDATA[MySQL数据库索引详解]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/154830474</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/154830474</guid><author>m0_71836706</author><pubDate>Fri, 14 Nov 2025 11:33:15 +0800</pubDate><description><![CDATA[前缀索引可能带来多次回表，而我们接触到“回表”这个概念是在讲覆盖索引的时候。那么我们看这样一个查询：select id, email from table where email = 'wangwei3@cainiao.com'，分别使用index_email_1(email) 和 idx_email_3(email(8)) 会有什么差别？对于 index_email_1(email)，由于可以使用覆盖索引，所以不需要回表就可以返回结果了；]]></description><category></category></item><item><title><![CDATA[微服务网关首选：Spring Cloud Gateway 核心功能与实战指南]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/154126807</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/154126807</guid><author>m0_71836706</author><pubDate>Fri, 31 Oct 2025 15:43:54 +0800</pubDate><description><![CDATA[在微服务架构日益普及的当下，服务间的通信管理变得愈发关键。Spring Cloud Gateway 作为 Spring Cloud 生态中的关键组件，以其独特的设计和强大的功能，为微服务架构提供了高效的 API 网关解决方案。API 网关是一个搭建在客户端和微服务之间的服务，我们可以在 API 网关中处理一些非业务功能的逻辑，例如权限验证、监控、缓存、请求路由等。]]></description><category></category></item><item><title><![CDATA[Nacos注册中心：从服务注册到负载均衡]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/154005252</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/154005252</guid><author>m0_71836706</author><pubDate>Tue, 28 Oct 2025 12:18:50 +0800</pubDate><description><![CDATA[微服务规模扩大后，服务动态上下线难感知、流量集中易过载成痛点，注册中心成关键枢纽。Alibaba 开源的 Nacos，凭 “服务发现 + 配置管理” 一体化能力、高可用设计快速出圈。本文将拆解 Nacos 服务注册的底层逻辑，剖析它与负载均衡组件的协同路径，看其如何打通 “注册 - 分发” 链路，支撑微服务稳定运行。]]></description><category></category></item><item><title><![CDATA[Nacos 配置中心：动态配置管理]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/153958819</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/153958819</guid><author>m0_71836706</author><pubDate>Mon, 27 Oct 2025 16:37:33 +0800</pubDate><description><![CDATA[在前面我们了解了Nacos的基本概念和部署，本篇将介绍一下 Nacos 配置中心的动态配置管理，我们首先需要掌握它的三个核心概念：Data ID、Group 和 Namespace。它们就像是一把把钥匙，共同解锁 Nacos 强大的配置管理能力，让我们能更高效、灵活地管理项目配置。接下来我们就一起来揭开它的神秘面纱。]]></description><category></category></item><item><title><![CDATA[Nacos 环境搭建：从单机开发到集群生产部署]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/153834541</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/153834541</guid><author>m0_71836706</author><pubDate>Sun, 26 Oct 2025 19:38:05 +0800</pubDate><description><![CDATA[通过本文的详细讲解，相信你已经全面掌握了 Nacos 从单机到集群的部署方法，无论是在本地开发环境中快速搭建 Nacos 进行功能验证，还是在生产环境中构建高可用的 Nacos 集群，都能轻松应对。下面让我们来总结一下 Nacos 部署的最佳实践要点。在本地开发与测试阶段，单机模式是我们的首选。它部署简单快捷，能够快速满足我们在开发过程中对服务发现和配置管理的需求。在单机部署时，优先推荐使用 Docker 方式启动 Nacos。]]></description><category></category></item><item><title><![CDATA[Nacos基础概念：核心功能解析]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/153815855</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/153815855</guid><author>m0_71836706</author><pubDate>Fri, 24 Oct 2025 09:42:51 +0800</pubDate><description><![CDATA[Nacos（Dynamic Naming and Configuration Service）是阿里巴巴开源的动态服务发现、配置管理和服务治理平台，旨在让微服务架构的部署与运维更简单。它整合了传统注册中心（如 Eureka）和配置中心（如 Spring Cloud Config）的功能，支持服务注册发现、动态配置、流量管理、多环境隔离等核心能力。​。]]></description><category></category></item><item><title><![CDATA[Redis热点key大Value解决方案]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/153178907</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/153178907</guid><author>m0_71836706</author><pubDate>Mon, 13 Oct 2025 10:03:53 +0800</pubDate><description><![CDATA[问题分析：相比热点 key 大概念，大 Value 的概念比好好理解，由于 Redis 是单线程运行的，如果一次操作的 value 很大会对整个 redis 的响应时间造成负面影响，因为 Redis 是 KeyValue 结构数据库，大 value 就是单个 value 占用内存较大，对Redis 集群造成最直接的影响就是数据倾斜。]]></description><category></category></item><item><title><![CDATA[K8S原理刨析]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/153053257</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/153053257</guid><author>m0_71836706</author><pubDate>Sat, 11 Oct 2025 16:48:18 +0800</pubDate><description><![CDATA[Kubernetes 作为云原生时代的核心技术，以其强大的容器编排和管理能力，为我们构建和运维现代化应用提供了高效、可靠的解决方案。通过深入了解 Kubernetes 的原理，包括其架构、工作流程以及网络原理，我们能够更好地发挥它的优势，提升应用的部署效率、稳定性和可扩展性。无论是在小型开发团队，还是大型企业的复杂生产环境中，Kubernetes 都展现出了巨大的价值。]]></description><category></category></item><item><title><![CDATA[StatefulSet：有状态应用的“定海神针”]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/152512940</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/152512940</guid><author>m0_71836706</author><pubDate>Sat, 04 Oct 2025 17:00:29 +0800</pubDate><description><![CDATA[StatefulSet 作为 Kubernetes 管理有状态应用的关键工具，凭借其稳定的网络标识、有序的部署和扩展、持久的存储保障等特性，为数据库集群、分布式缓存、消息队列集群等有状态应用在容器化环境中的稳定运行提供了坚实支撑。它与 Deployment 在功能和适用场景上的差异，也让开发者能够根据应用的特点选择最合适的管理方式。]]></description><category></category></item><item><title><![CDATA[PersistentVolume + NFS：网络共享存储]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/152270158</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/152270158</guid><author>m0_71836706</author><pubDate>Tue, 30 Sep 2025 15:04:01 +0800</pubDate><description><![CDATA[通过前面的文章（），了解到Kubernetes 里的持久化存储对象 PersistentVolume、 PersistentVolumeClaim、StorageClass，把它们联合起来就可以为 Pod 挂载一块“虚拟盘”， 让 Pod 在其中任意读写数据。使用HostPath方式，存储卷只能在本机使用，而 Kubernetes 里的 Pod 经常会在集群里“漂移”，所以这种方式不是特别实用。]]></description><category></category></item><item><title><![CDATA[PersistentVolume：解决数据持久化问题]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/152225617</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/152225617</guid><author>m0_71836706</author><pubDate>Mon, 29 Sep 2025 10:09:52 +0800</pubDate><description><![CDATA[PersistentVolume（PV）是 Kubernetes 集群中用于提供持久化存储的一种资源对象。简单来说，它 就像是一个预先配置好的存储 “仓库”，这个仓库独立于任何一个 Pod 而存在。不管 Pod 在集群中的 哪个节点上运行，也不管它因为什么原因被销毁重建，只要它所使用的 PV 还在，数据就不会丢失。PV 的重要性不言而喻，它是 Kubernetes 存储体系的核心组成部分。在 Kubernetes 的世界里，容器和 Pod 的生命周期往往是短暂的，但应用产生的数据却需要长期保存。]]></description><category></category></item><item><title><![CDATA[Ingress：轻松拿捏集群流量管理]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/152128997</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/152128997</guid><author>m0_71836706</author><pubDate>Sat, 27 Sep 2025 20:10:24 +0800</pubDate><description><![CDATA[在 Kubernetes 中，Ingress 资源是通过 YAML 文件来定义的，通过这些配置，我们可以清晰地告诉 Kubernetes 如何处理外部流量的路由。metadata:spec:rules:http:paths:backend:service:port:number: 80metadata：元数据部分，name 定义了 Ingress 的名称为 example - ingress，annotations 则是一些注解，这里的- target: / 表示将请求路径重写为根路径。]]></description><category></category></item><item><title><![CDATA[Service ：微服务通信、负载、故障难题的解决方案]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/152028956</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/152028956</guid><author>m0_71836706</author><pubDate>Wed, 24 Sep 2025 17:40:46 +0800</pubDate><description><![CDATA[在前面我们了解了 Deployment 和 DaemonSet 这两个 API 对象，它们都是在线业务， 只是以不同的策略部署应用，Deployment 创建任意多个实例，Daemon 为每个节点创建一个实例。这两个 API 对象可以部署多种形式的应用，而在云原生时代，微服务无疑是应用的主流形态。为了更好地支持微服务以及服务网格这样的应用架构，Kubernetes 又专门定义了一个新的对象：Service，它是集群内部的机制，用来解决的关键问题。]]></description><category></category></item><item><title><![CDATA[Daemonset：忠实可靠的看门狗]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/151935293</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/151935293</guid><author>m0_71836706</author><pubDate>Mon, 22 Sep 2025 10:15:58 +0800</pubDate><description><![CDATA[在前面的文章中我给大家介绍了Kubernetes 里的一个新 API 对象 Deployment，它代表了在线业务， 能够管理多个 Pod 副本，让应用永远在线，还能够任意扩容缩容。虽然 Deployment 非常有用，但是，它并没有完全解决运维部署应用程序的所有难题。因为和 简单的离线业务比起来，在线业务的应用场景太多太复杂，Deployment 的功能特性只覆盖了 其中的一部分，无法满足其他场景的需求。]]></description><category></category></item><item><title><![CDATA[Deployment容器编排的核心]]></title><link>https://blog.youkuaiyun.com/m0_71836706/article/details/151869556</link><guid>https://blog.youkuaiyun.com/m0_71836706/article/details/151869556</guid><author>m0_71836706</author><pubDate>Sat, 20 Sep 2025 11:22:12 +0800</pubDate><description><![CDATA[在 K8s 这个庞大而强大的体系中，Deployment 又是管理无状态应用的核心组件。它赋予了我们对应用部署的强大掌控力，通过简单的配置，就能实现应用的自动化部署、无缝升级、灵活扩展以及便捷回滚。可以说，掌握了 Deployment，就相当于掌握了开启 K8s 强大功能之门的钥匙，能够充分利用 K8s 的优势，提升应用的运维效率和稳定性。接下来，就让我们一起深入探索 K8s Deployment 的奇妙世界。]]></description><category></category></item></channel></rss>