<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[吖脖（博）]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/dalinsi</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; dalinsi]]></copyright><item><title><![CDATA[ES 动态模板字段设计]]></title><link>https://blog.csdn.net/dalinsi/article/details/156235134</link><guid>https://blog.csdn.net/dalinsi/article/details/156235134</guid><author>dalinsi</author><pubDate>Wed, 24 Dec 2025 15:42:15 +0800</pubDate><description><![CDATA[【代码】ES 动态模板字段设计。]]></description><category></category></item><item><title><![CDATA[【转】JVM实战-G1参数调优]]></title><link>https://blog.csdn.net/dalinsi/article/details/153047258</link><guid>https://blog.csdn.net/dalinsi/article/details/153047258</guid><author>dalinsi</author><pubDate>Sat, 11 Oct 2025 14:04:29 +0800</pubDate><description><![CDATA[当在进行混合回收的过程中，由于无论是新生代还是老年代都是基于复制算法进行的，都需要将各个Region中的存活对象拷贝到别的Region中，此时如果一旦出现拷贝的过程中发现没有空闲的Region可以进行存储了，就会触发一次失败！在运行过程中，G1收集器会调整新生代和老年代的Region数量，主要是通过adapt代的大小来调整对象晋升的速度和年龄，从而达到为收集器设置的暂停时间目标，因此不建议手动设置新生代和老年代的大小，只要设置整个堆的大小即可。#设置新生代大小，默认5%，默认最大60%。]]></description><category></category></item><item><title><![CDATA[JVM实战-G1参数调优]]></title><link>https://blog.csdn.net/dalinsi/article/details/151929489</link><guid>https://blog.csdn.net/dalinsi/article/details/151929489</guid><author>dalinsi</author><pubDate>Sun, 21 Sep 2025 15:07:55 +0800</pubDate><description><![CDATA[当在进行混合回收的过程中，由于无论是新生代还是老年代都是基于复制算法进行的，都需要将各个Region中的存活对象拷贝到别的Region中，此时如果一旦出现拷贝的过程中发现没有空闲的Region可以进行存储了，就会触发一次失败！在运行过程中，G1收集器会调整新生代和老年代的Region数量，主要是通过adapt代的大小来调整对象晋升的速度和年龄，从而达到为收集器设置的暂停时间目标，因此不建议手动设置新生代和老年代的大小，只要设置整个堆的大小即可。#设置新生代大小，默认5%，默认最大60%。]]></description><category></category></item><item><title><![CDATA[尚硅谷宋红康JVM全套教程（详解java虚拟机）]]></title><link>https://blog.csdn.net/dalinsi/article/details/151255443</link><guid>https://blog.csdn.net/dalinsi/article/details/151255443</guid><author>dalinsi</author><pubDate>Sat, 06 Sep 2025 14:36:12 +0800</pubDate><description><![CDATA[JVM全套视频教程]]></description><category></category></item><item><title><![CDATA[[转载]数据库锁分布式锁实现接口幂等性]]></title><link>https://blog.csdn.net/dalinsi/article/details/149072451</link><guid>https://blog.csdn.net/dalinsi/article/details/149072451</guid><author>dalinsi</author><pubDate>Wed, 02 Jul 2025 16:22:33 +0800</pubDate><description><![CDATA[每种幂等性实现方案都有各自的优缺点，我们需要根据实际的业务场景选择更合适的方案来解决幂等性问题。]]></description><category></category></item><item><title><![CDATA[Spring、SpringBoot 本身为什么不提供 Bean 的异步初始化]]></title><link>https://blog.csdn.net/dalinsi/article/details/149065533</link><guid>https://blog.csdn.net/dalinsi/article/details/149065533</guid><author>dalinsi</author><pubDate>Wed, 02 Jul 2025 11:43:50 +0800</pubDate><description><![CDATA[Spring官方不直接支持Bean级异步实例化，是为了保证依赖可用性、生命周期一致性、异常可控性和容器的可预测性。异步实例化的核心思想：Bean本身快速注册，重型任务交给异步线程，业务代码可感知就绪状态。适用场景：大数据加载、远程预热、慢资源初始化等。业务权衡：异步初始化的需求极少数场景才有推荐通过懒加载或业务异步实现，如果必须异步，建议将耗时任务下沉到业务逻辑层，Bean初始化阶段尽量轻量。]]></description><category></category></item><item><title><![CDATA[避免 Java NPE 异常的 10 大优化手段（附代码示例）]]></title><link>https://blog.csdn.net/dalinsi/article/details/149047647</link><guid>https://blog.csdn.net/dalinsi/article/details/149047647</guid><author>dalinsi</author><pubDate>Tue, 01 Jul 2025 15:21:24 +0800</pubDate><description><![CDATA[在方法入口处显式校验参数，快速失败（Fail-Fast），避免空值传递到下游逻辑。避免调用方因未判空导致 NPE，遵循 “返回空集合而不是 null” 原则。Apache Commons 或 Guava 提供安全的空值处理工具。通过代码规范、语言特性、工具约束，将 NPE 消灭在编码阶段。结合 IDE 或 Lombok 在编译期检查空值风险。通过工具在编译期或代码审查阶段发现潜在 NPE。强制调用方处理空值场景，减少遗漏检查的风险。）的自动拆箱可能引发 NPE。，避免条件分支判断。]]></description><category></category></item><item><title><![CDATA[【转】深入理解分布式系统的 7 种数据分片策略]]></title><link>https://blog.csdn.net/dalinsi/article/details/149019092</link><guid>https://blog.csdn.net/dalinsi/article/details/149019092</guid><author>dalinsi</author><pubDate>Mon, 30 Jun 2025 11:18:04 +0800</pubDate><description><![CDATA[数据分片是将全量数据按照某种规则分散存储在多个数据存储上的一种技术，用于平衡系统的存储压力和读写压力，并实现数据存储和系统性能的线性扩展能力。常见的数据中间件如MySQL、Redis、HBase、ElasticSearch、Kafka、Hive等，都会使用一种或多种数据分片方式。以下是七种常见的数据分片方式：Hash取余分片：根据数据的哈希值进行取余操作，将数据分配到不同的存储节点上。一致性Hash分片：根据数据的哈希值在哈希环上进行映射，将数据分配到与其哈希值最近的节点上，以实现负载均衡。]]></description><category></category></item><item><title><![CDATA[【缓存技术】深入分析如果使用好缓存及注意事项]]></title><link>https://blog.csdn.net/dalinsi/article/details/148933186</link><guid>https://blog.csdn.net/dalinsi/article/details/148933186</guid><author>dalinsi</author><pubDate>Thu, 26 Jun 2025 21:08:56 +0800</pubDate><description><![CDATA[核心高频数据用 Kryo，边缘数据用 JSON，并通过统一接口封装，实现灵活切换。：某社交平台用户服务缓存 1 千万用户数据，需降低内存占用并提升吞吐量。：明星离婚新闻导致热点文章缓存失效，DB被击穿。：攻击者频繁请求不存在的数据（如负库存ID）。：用户下单时需实时检查库存，库存服务独立部署。：瞬时 10 万订单创建，DB 写入压力大。：北京、法兰克福、北美区域库存数据实时同步。：随机过期时间 + 永不过期结合异步更新。适用场景：高吞吐写入，允许短暂数据丢失。：促销活动结束，大量优惠券缓存同时过期。]]></description><category></category></item><item><title><![CDATA[AI如何让你编码天赋异禀-任督二脉打通术]]></title><link>https://blog.csdn.net/dalinsi/article/details/148875877</link><guid>https://blog.csdn.net/dalinsi/article/details/148875877</guid><author>dalinsi</author><pubDate>Tue, 24 Jun 2025 17:33:24 +0800</pubDate><description><![CDATA[Talk is cheap, show me the code.” 鼓励多写代码，少空谈；“Code is cheap, show me the talk.” 鼓励多思考、多交流、深度理解。两者结合，才是优秀技术人的全面素养！]]></description><category></category></item><item><title><![CDATA[转载-秒杀系统—1.架构设计和方案简介]]></title><link>https://blog.csdn.net/dalinsi/article/details/148875127</link><guid>https://blog.csdn.net/dalinsi/article/details/148875127</guid><author>dalinsi</author><pubDate>Tue, 24 Jun 2025 16:55:27 +0800</pubDate><description><![CDATA[为了保证不出现超卖，就要舍弃A，保证CP。因为在七层协议上进行负载均衡的性能远不如LVS，而仅仅在四层协议上进行负载均衡的LVS又不能进行一些高阶的转发，也就是没有办法根据HTTP请求的内容去进行一些高阶的功能和转发。接着，从内核空间切换到用户空间，将HTTP协议请求交给用户空间运行的一个负载均衡技术去处理，也就是根据请求里的一些内容来将请求转发给真实的后端服务器。请求报文的目标端口改写成选定服务器的相应端口(RS提供的服务端口)，最后将修改后的报文发送给选出的服务器RS(Real Server)。]]></description><category></category></item><item><title><![CDATA[一次性下发100w个优惠卷/短信/二维码，技术架构如何设计？]]></title><link>https://blog.csdn.net/dalinsi/article/details/148813229</link><guid>https://blog.csdn.net/dalinsi/article/details/148813229</guid><author>dalinsi</author><pubDate>Sat, 21 Jun 2025 18:21:37 +0800</pubDate><description><![CDATA[分片+异步+MQ：避免单点压力，提升系统弹性。幂等：防止重复发放。批量+限流：防止下游接口被打爆。失败补偿：保证最终一致性。全链路监控：保障可观测、可追溯。一次性下发百万级券/短信/二维码，建议采用“分片+异步+消息队列+幂等+监控+补偿”架构，确保高可用、高性能、强一致性和可观测性。如需某一环节详细设计、代码实现、性能瓶颈分析，欢迎继续追问！]]></description><category></category></item><item><title><![CDATA[【转】如何画好架构图：架构思维的三大底层逻辑]]></title><link>https://blog.csdn.net/dalinsi/article/details/148813044</link><guid>https://blog.csdn.net/dalinsi/article/details/148813044</guid><author>dalinsi</author><pubDate>Sat, 21 Jun 2025 18:09:37 +0800</pubDate><description><![CDATA[数据结构“（这里指广义的数据结构，不是大学教科书上的数据结构），是任何一个软件的基石，其重要性怎么强调都不过分，系统的性能、复用性、扩展性、维护性、数据一致性等，往往都和“数据结构“密切相关。泳道中的每1列，是一个跨团队的其他人的系统，还是自己系统内部的一个子系统，还是一个逻辑模块，还是一个用户？有了物理部署，才能和上面的系统架构图对应起来，让人明白，上面的每个方块，是一个集群，还是单机版的进程？备注：这里说的系统/子系统，在物理上对应了一个集群（一个微服务的集群，或者一个独立部署的系统）。]]></description><category></category></item><item><title><![CDATA[IDEA智能编码AI插件-codegeex]]></title><link>https://blog.csdn.net/dalinsi/article/details/148708884</link><guid>https://blog.csdn.net/dalinsi/article/details/148708884</guid><author>dalinsi</author><pubDate>Tue, 17 Jun 2025 09:44:14 +0800</pubDate><description><![CDATA[指导手册：
https://zhipu-ai.feishu.cn/wiki/CcduwOpcFiXh4skCQxfc7Ahgnmc官网地址：
https://codegeex.cn/]]></description><category></category></item><item><title><![CDATA[Stream 超级好，Map 也很酷，但一定要注意 toMap() 的坑]]></title><link>https://blog.csdn.net/dalinsi/article/details/148700961</link><guid>https://blog.csdn.net/dalinsi/article/details/148700961</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 21:29:33 +0800</pubDate><description><![CDATA[【代码】Stream 超级好，Map 也很酷，但一定要注意 toMap() 的坑。]]></description><category></category></item><item><title><![CDATA[设计模式-迪米特法则（Law of Demeter, LoD）]]></title><link>https://blog.csdn.net/dalinsi/article/details/148696831</link><guid>https://blog.csdn.net/dalinsi/article/details/148696831</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 17:49:33 +0800</pubDate><description><![CDATA[一个对象应尽可能少地与其他对象发生交互，只与直接的朋友（成员变量、方法参数、方法返回值中的对象）通信，避免依赖间接的类。，适用于任何需要降低依赖关系的场景，尤其在大型系统或模块化架构中价值显著。：最少知识原则（Least Knowledge Principle）的调用形式，这种“火车残骸式”代码会增加耦合性。迪米特法则通过限制对象间的交互范围，推动代码向。]]></description><category></category></item><item><title><![CDATA[设计模式-六大基本原则]]></title><link>https://blog.csdn.net/dalinsi/article/details/148696739</link><guid>https://blog.csdn.net/dalinsi/article/details/148696739</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 17:45:43 +0800</pubDate><description><![CDATA[掌握这些原则，能显著提升代码质量，构建易于维护和扩展的软件系统！子类必须能够替换其父类，且不影响程序正确性。高层模块不应依赖低层模块，二者都应依赖抽象。一个类（或模块）应仅有一个引起变化的原因。：通过抽象和继承实现扩展，而非修改源码。一个对象应尽可能少地与其他对象发生交互。软件实体应对扩展开放，对修改关闭。客户端不应依赖它不需要的接口。：面向接口编程，解耦模块依赖。：减少耦合，避免“链式调用”。：继承关系应确保行为兼容性。：高内聚，避免“上帝类”。：避免臃肿接口，按需拆分。]]></description><category></category></item><item><title><![CDATA[设计模式-单一职责原则（Single Responsibility Principle, SRP）]]></title><link>https://blog.csdn.net/dalinsi/article/details/148696654</link><guid>https://blog.csdn.net/dalinsi/article/details/148696654</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 17:42:16 +0800</pubDate><description><![CDATA[通过合理应用 SRP，可以显著降低代码的复杂度，为后续扩展和维护奠定坚实基础。：通过职责分离，提高代码的内聚性，降低耦合度，增强可维护性和可扩展性。：一个类（或模块、方法）应仅有一个引起其变化的原因。]]></description><category></category></item><item><title><![CDATA[设计模式-开闭原则（Open/Closed Principle, OCP）]]></title><link>https://blog.csdn.net/dalinsi/article/details/148696639</link><guid>https://blog.csdn.net/dalinsi/article/details/148696639</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 17:41:42 +0800</pubDate><description><![CDATA[通过抽象化和多态性设计，使系统在不修改已有代码的前提下，通过扩展实现新功能，提升可维护性和稳定性。通过遵循 OCP，可以构建高内聚、低耦合的系统，显著提升软件的可维护性和生命周期。系统需支持多种支付方式（信用卡、支付宝），未来可能接入微信支付。系统需支持绘制多种形状（如圆形、矩形），未来可能新增三角形。：软件实体（类、模块、函数等）应对扩展开放，对修改关闭。开闭原则是设计模式的核心原则之一，强调。]]></description><category></category></item><item><title><![CDATA[设计模式-里氏替换原则（Liskov Substitution Principle, LSP）]]></title><link>https://blog.csdn.net/dalinsi/article/details/148696621</link><guid>https://blog.csdn.net/dalinsi/article/details/148696621</guid><author>dalinsi</author><pubDate>Mon, 16 Jun 2025 17:41:12 +0800</pubDate><description><![CDATA[通过接口定义行为契约、避免继承滥用、编写兼容性测试，可有效提升代码的健壮性和可维护性。：子类必须能够替换其父类，且替换后程序的正确性不受影响。：确保继承关系的合理性，避免子类破坏父类的行为契约。里氏替换原则是面向对象设计的基石之一，强调。]]></description><category></category></item></channel></rss>