- 博客(1055)
- 收藏
- 关注
原创 C#中的多级缓存架构设计与实现深度解析
随着业务规模的不断扩大和并发量的持续增长,单一级别的缓存往往无法满足复杂的性能需求。多级缓存架构通过在不同层次构建缓存体系,能够显著提升数据访问效率,降低数据库负载,并提供更好的系统可扩展性。在计算机系统中,从CPU缓存到内存,从内存到磁盘,都遵循着这种层次化的存储架构。本文将深入探讨C#环境下多级缓存的架构设计与实现,重点分析内存缓存(Memory Cache)与Redis分布式缓存的协同工作机制,并详细阐述如何通过Redis的发布-订阅(Pub/Sub)模式实现不同节点间的缓存状态同步。
2026-01-23 17:59:04
511
原创 多线程的这12种用途,99%的人不知道!
并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,那么线程之间的竞争和抢占cpu资源,线程的上下文切换,也是相对来说比较耗时的操作。下面这几个问题在面试中,你必定遇到过:你在哪来业务场景中使用过多线程?怎么用的?踩过哪些坑?今天聊聊我之前在项目中用并发编程的12种业务场景,给有需要的朋友一个参考。
2026-01-23 16:01:20
685
原创 干货满满:Redis 分布式锁必避的 8 大问题及解决方案
Redis 分布式锁的问题,大多不是 Redis 本身的缺陷,而是对分布式场景的复杂性考虑不足。结合实战经验,总结 3 个核心避坑原则:优先使用成熟框架:放弃手动实现分布式锁,Redisson 已封装解决上述所有问题,开箱即用,稳定性远高于自定义实现。匹配业务场景选型:高一致性、高可用场景用 Redlock 算法;一般场景用主从 + 哨兵模式;根据并发量设计锁粒度(精细化/分段锁)。完善监控与兜底:监控锁持有时间、加锁成功率、Redis 集群状态,设置告警阈值;
2026-01-22 17:32:44
694
原创 JavaScript流程控制:从混乱条件到优雅遍历,一次讲清如何让代码听话
👉 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。👉 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。👉 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。流程控制不是死记硬背的语法,而是一种规划代码执行路径的思维。面对复杂逻辑时,先理清脉络,再选择合适的“导航仪”(分支或循环)。在DOM操作等日常任务中,for...of和forEach是你的好帮手。记住,最好的代码不是最聪明的,而是最容易被下一个开发者(包括六个月后的你)理解的代码。一名程序媛呀from=001YH。
2026-01-22 15:50:56
261
原创 字符串分割并展开成表格的SQL实现方法
在数据开发类项目中,常常会遇到需要将字符串进行切割并展开成表格的场景,如以下两种常见的案例:1.标签类型数据:如将员工标签类型的数据2.分类层级数据:如将组织部门层级数据:“/集团/分公司/信息技术部/数据团队”除此之外,在一些特定的业务场景中,如证券场景中,需要将一笔回购合约涉及到的多个质押券进行拆分(提取每个质押券有质押数量及对应标准券转换比例),数据示例如下: 另外,API请求的返回的数据多为半结构化的字典列表数据,需要将每行数据从列表中进行提取出来再进行后续的处理,如以下数据:二,各类主
2026-01-20 17:39:52
266
原创 【面试题】RabbitMQ 中无法路由的消息会去到哪里?
默认:静默丢弃(不推荐)通过:返回给生产者处理通过备用交换器:集中收集到专门队列(最佳实践)推荐架构生产者 → 主交换器(配置备用交换器)↓(无法路由)备用交换器(Fanout)↓"unroutable.messages"队列↓监控系统/人工处理这样既能保证消息不丢失,又能及时发现路由配置问题。佛祖让我来巡山from=001YH。
2026-01-20 16:43:45
504
原创 一文吃透 Spring 事务传播行为:7 种场景+代码实战
Spring 事务传播行为的本质是“事务边界的控制规则”,核心是解决“多方法调用时事务如何协同”的问题。掌握每种行为的适用场景,结合实际业务选择,才能避免事务漏洞(如数据不一致、事务失效、资源浪费)。建议实际开发中,先明确“方法间事务是否需要协同”,再选择对应的传播行为,同时搭配(指定回滚异常类型)、readOnly(查询优化)等属性,让事务控制更精准、高效。佛祖让我来巡山from=001YH。
2026-01-19 17:53:15
637
原创 2026 年 PHP 函数式编程 优势与实际应用
在深入优势和应用之前,先快速回顾一下函数式编程是什么。函数式编程的核心是把计算当作数学函数的求值。它是一种声明式编程风格,描述的是"要什么",而不是"怎么做"。在 FP 中,函数是一等公民,可以作为参数传递给其他函数,可以从函数返回,也可以赋值给变量。FP 的一个核心原则是不可变性——一旦给变量赋值,就不能再改变。这消除了副作用,让代码更可预测、更容易调试。另一个基本概念是纯函数,对于相同的输入总是产生相同的输出,不会修改任何外部状态。
2026-01-19 16:49:20
634
原创 如何一步步将 ASP.NET MVC 升级为.NET
Microsoft 的 MVC 到核心示例攻略从设置开始,然后是控制器和视图,最后是静态内容和客户端依赖。遵循这个顺序,因为这样可以让迁移在每一步都可测试。迁移路由在 MVC 5 中,你很可能用过 RouteConfig,可能还用了属性路由。在 ASP.NET Core 中,你配置中间件流水线和端点映射中的路由。迁移控制器一次迁移一个控制器。复制一个控制器类。通过更换命名空间和替换依赖 System.Web 的代码来修复编译错误。
2026-01-16 17:43:56
994
1
原创 低代码不是“捷径”是“基建”:数字经济腾飞的技术重构与效率革命
数字经济的腾飞,需要技术创新与商业模式创新的双轮驱动。低代码技术通过架构重构,实现了开发效率的提升和技术普惠;通过场景落地,解决了不同行业的数字化痛点;通过生态协同,推动了数字化能力的规模化扩张。它不是数字经济发展的“捷径”,而是支撑数字经济高质量发展的“基础设施”。对于企业而言,低代码不是“万能工具”,而是需要根据自身业务需求合理选择的数字化解决方案。未来,随着技术的不断成熟和生态的不断完善,低代码将在数字经济的发展中发挥更大的作用,推动更多企业实现数字化转型,释放创新活力。
2026-01-16 15:57:05
1178
原创 【面试题】什么是观察者模式?一般用在什么场景?
想象一下微信群聊你发一条消息(发布事件)群里所有人都收到了通知(观察者被触发)这就是观察者模式一个对象(被观察者)的状态变化,会通知所有依赖它的对象(观察者)。观察者模式 = "我有情况,马上通知大家"主题:就是那个"有情况的人"观察者:就是"等着听消息的人"核心思想解耦自动通知。
2026-01-15 17:47:45
741
原创 国产大模型燎原乡村:AI+低代码重构基层治理新范式
2025年,“蹭饭书记”董桂林的57条乡村短视频收获265万粉丝,镜头里的农家粉条、芝麻盐成为网红特产;年底刷屏的“基层干部年终总结vlog”,用可视化方式呈现乡村治理成效,让政务公开更具亲和力。这些现象并非偶然,而是基层干部主动拥抱AI工具,重构工作模式的生动体现。在我看来,这正是“申论写在大地上”的数字化升级——用群众喜闻乐见的方式,让政务工作从“纸上”落到“心上”。AI工具在其中扮演的“幕后推手”角色,往往被大众忽略。
2026-01-15 16:36:54
1120
原创 【产业数字化】低代码不是“玩具”:重构现代化产业建设的技术逻辑与效率革命
低代码不是现代化产业建设的“万能药”,也不是“轻量化玩具”,其价值在于以技术工具的革新,重构产业开发与运营的效率逻辑。对于IT互联网产品技术从业者而言,我们需要理性看待低代码的能力边界,既要利用其提升开发效率、赋能业务创新,也要坚守核心技术研发的底线,避免陷入“重配置、轻架构”的误区。现代化产业建设的核心是“技术为产业服务”,低代码的未来,在于与产业场景的深度融合,在于为企业创造实实在在的价值。当低代码真正嵌入产业的生产、管理、决策全链路,成为产业数字化转型的“基础设施”,其价值才能得到真正释放。
2026-01-13 16:46:13
789
原创 Thread 类的基本用法、Java 线程的几种状态
切换:RUNNABLE -> WAITING:调用 Object.wait()(不带参数)、Thread.join()(不带参数)或 LockSupport.park()。Java线程共有6种状态:NEW (新建)RUNNABLE (可运行)BLOCKED (阻塞)WAITING (等待)TIMED_WAITING (超时等待)TERMINATED (终止)方式1:继承 Thread 类,重写run()常用操作:获取线程 ID (getId())、获取线程名称 (getName()) 等。
2026-01-13 08:50:55
467
原创 低代码破局软硬协同:2026科技创新的底层重构逻辑
2026年,科技创新已进入“协同制胜”的时代,软硬协同不再是“选择题”而是“必修课”。低代码平台以其协议适配、可视化编排、轻量化集成等核心能力,破解了传统开发模式下的链路断层、成本高昂、响应迟缓等难题,成为释放软硬协同创新红利的关键支撑。但我们也应清醒地认识到,低代码并非“银弹”,其价值的发挥需要结合具体行业场景、企业技术基础与业务需求。未来,随着技术的不断迭代与标准体系的逐步完善,低代码将在更多关键领域的软硬协同创新中发挥核心作用,推动科技成果从“实验室”快速走向“产业端”。
2026-01-12 16:48:23
615
原创 JVM 堆内存分代
② Eden 触发 Minor GC → 回收 Eden+S0 的垃圾对象,存活对象复制到 S1,清空 Eden+S0;老年代大小决定 Full GC 频率 —— 老年代越大,Full GC 频率越低,但单次 Full GC 耗时越长。的对象,比如单例对象、缓存对象、经历多次 Minor GC 仍存活的对象。:Minor GC 后 Survivor 区放不下存活对象,多余对象直接晋升老年代;(新生代 GC),频率极高(毫秒 / 秒级),但耗时极短(几十毫秒)。(伊甸园区):新对象的 "默认出生地",
2026-01-09 17:36:14
544
原创 IQR四分位数法是什么?
IQR四分位数法通过“中间50%数据的范围”(IQR)量化离散程度,并通过1.5倍IQR的边界识别异常值。它的核心是关注数据的主体分布,忽略极端干扰,是探索性数据分析(EDA)中简单却强大的工具。理解其逻辑的关键在于把握“四分位数划分数据、IQR衡量主体波动、边界外视为异常”这一链条。佛祖让我来巡山from=001YH。
2026-01-08 17:34:52
873
原创 告别“定制难、迭代慢”:低代码重构数字化OA的技术逻辑与实践路径
低代码让数字化OA的构建变得“高效、灵活、低成本”,但这并不意味着我们可以忽视业务本质。真正成功的数字化OA,不是“功能越多越好”,而是“精准匹配企业需求、持续创造价值”。低代码提供的是工具与方法,最终的价值落地,仍需要IT团队深入业务、持续优化。最后,抛出一个开放性问题:你认为低代码会彻底颠覆传统OA开发模式吗?在实际落地中,你遇到过哪些技术难题?欢迎在评论区留言讨论,一起交流进步。
2026-01-08 16:34:16
970
原创 使用 C# 和 SQL Server 自动化邮件中的用户分配数据处理
连接邮件服务器:使用 POP3 协议连接到邮件服务器,支持 Gmail 等常见邮件服务提供商。筛选目标邮件:自动筛选出当天收到的、主题包含"AllotmentsFiles"的邮件。处理附件并更新数据库:下载邮件中的 CSV 附件,解析内容并更新 SQL Server 数据库中的分配数据。
2026-01-06 17:53:18
998
原创 数字化转型卡壳?低代码才是破局关键:90%企业都踩过的技术赋能陷阱
回到文章开头的核心观点:企业数字赋能的核心矛盾是业务快速创新与技术供给不足的矛盾,而低代码通过“可视化建模+代码扩展”的混合开发模式,完美解决了这一矛盾。它不是传统开发的替代品,而是企业数字赋能的“加速器”和“润滑剂”。对于企业而言,选择合适的低代码平台,并非放弃技术自主,而是以更低成本、更高效率实现数字化转型。对于技术人员而言,拥抱低代码不是能力的降级,而是能力的升级——从重复编码的“码农”,转变为聚焦业务价值的“架构师”和“解决方案专家”。
2026-01-06 16:26:01
1188
原创 MQ如何保证消息不丢失?
今天我们来聊聊一个让很多开发者头疼的话题——MQ消息丢失问题。有些小伙伴在工作中,一提到消息队列就觉得很简单,但真正遇到线上消息丢失时,排查起来却让人抓狂。其实,我在实际工作中,也遇到过MQ消息丢失的情况。今天这篇文章,专门跟大家一起聊聊这个话题,希望对你会有所帮助。生产者确认机制- 保证消息成功发送到Broker消息持久化机制- 防止Broker重启导致消息丢失消费者确认机制- 确保消息被成功处理事务消息机制- 保证业务和消息的一致性重试与死信队列- 处理异常情况和最终死信。
2026-01-05 17:28:46
979
原创 【数字转型避坑指南】中小企业低成本转型的效率革命与技术实践
数字化转型的本质,是通过技术手段提升业务效率、优化资源配置,而非“为了数字化而数字化”。低代码作为实现“低成本业务在线”的有效工具,其核心价值在于“让技术回归业务本质”——减少重复开发工作,让技术人员聚焦核心业务逻辑,让业务人员参与系统搭建,最终实现“技术与业务的深度协同”。对于IT互联网产品技术人员而言,推动低代码转型时,需把握三个核心原则:一是“场景优先”,选择与企业核心业务匹配的低代码平台,避免盲目跟风;二是“技术可控”,确保平台具备开源能力或完整的代码导出功能,规避技术锁定风险;
2026-01-05 16:11:39
842
原创 面向对象三大特点(封装、继承、多态)
封装封装是指将对象的属性(数据,如变量)和行为(操作数据的方法,如函数)捆绑在一起,同时隐藏对象内部的实现细节。核心目的提高代码安全性:防止外部程序随意篡改对象的内部属性,避免无效数据的产生。提升代码可维护性:内部实现细节的修改不会影响外部调用者,降低代码耦合度。增强代码复用性:封装后的类可以作为独立模块被多次引用。具体实现:使用 private 修饰成员变量提供 public的getter/setter方法。
2026-01-04 17:53:44
282
原创 数字赋能破局点:低代码不是降维工具,而是企业转型的技术革命
数字赋能的本质,是通过技术手段提升企业的运营效率和创新能力。低代码的崛起,并非技术的“降维”,而是技术的“回归”——回归到“以业务为中心”的核心逻辑,回归到“赋能价值创造”的终极目标。作为IT互联网产品技术人员,我们应跳出“技术崇拜”的误区,以开放的心态接纳低代码等新技术。无论是传统编码还是低代码开发,核心都是通过技术解决业务问题。未来,能够灵活运用多种技术工具,快速响应业务需求,推动企业数字化转型落地的技术人员,将成为行业的核心竞争力。
2026-01-04 17:00:43
1128
原创 redis为什么这么快?I/O多路复用技术是什么?
Redis的快可以总结为:基于内存操作 + 单线程 + 多路复用的并发 + 极致优化的底层数据结构。
2025-12-26 17:50:25
1019
原创 DevOps落地项目交付:别让“工具堆砌“掩盖了“价值交付“的核心
DevOps不是一套标准化的工具组合,也不是一种固定的流程模板,而是一种以价值交付为核心的理念、流程和文化的综合体。它的落地需要结合企业的实际情况,循序渐进,不断优化。对于IT互联网产品技术人员来说,我们应该跳出"工具堆砌"的误区,聚焦项目交付的核心痛点,通过流程重构、文化协同和工具赋能,实现从"职能割裂"到"价值协同"的转变。在实际项目交付中,我们可以借助一些成熟的开发平台的能力,简化DevOps工具链的搭建和集成工作,减少重复劳动,将更多精力放在流程优化和价值交付上。
2025-12-26 16:38:19
1045
原创 MyBatis踩坑实录:那些不报错但让你debug到深夜的Bug
这两个问题虽然表现形式不同,但都源于OGNL表达式引擎的特殊行为。理解这些陷阱背后的机制,能帮助我们写出更健壮的MyBatis代码。
2025-12-25 17:56:48
815
原创 数据驱动管理落地困局:低代码为何是破局关键?
回到核心观点:数据驱动管理的落地困局,本质是“数据、流程、开发能力”的协同问题,而低代码通过元数据驱动架构、多源数据集成、流程与数据深度协同等技术特性,为这些问题提供了高效的解决方案。从实践来看,低代码不是“替代传统开发”,而是“补充和升级”——它让IT团队从重复的接口开发、报表编写中解放出来,聚焦底层架构设计和技术创新,让业务人员参与到系统开发中,实现“数据驱动管理”的快速落地。
2025-12-25 16:24:19
794
原创 MySQL 在哪些场景下不会写 binlog
虽然上面列举的场景较多,但实际上并不需要大家刻意去记。简单来说,凡是 MySQL 内部自动执行的操作(即非用户手动执行的操作),通常不会写入 binlog。典型场景包括:实例初始化与升级、表的写入、数据字典的维护、表数据的更新等。对 mysql 库下的表进行 DML 操作,只要不属于上面提到的特殊类别的表,基本都会写入 binlog。但若执行的是 DDL 操作(如 truncate),基本都会写入 binlog。
2025-12-23 17:33:45
980
原创 数智化转型破局关键:低代码如何重构企业技术赋能逻辑
在数智化转型的浪潮中,低代码平台凭借其高效开发、灵活适配、低成本落地的核心优势,成为企业破解转型痛点的重要工具。但需要明确的是,低代码不是“银弹”,不能解决企业数智化转型中的所有问题。其核心价值在于打破技术与业务的壁垒,让技术更好地赋能业务,加速数智化转型进程。对于企业技术从业者而言,在引入低代码平台时,应理性看待其价值,避免盲目跟风。要从企业实际业务需求出发,选择合适的平台,通过分阶段迭代的方式逐步落地,同时重视组织变革和人员培训,确保低代码平台的价值能够充分释放。
2025-12-23 16:25:01
738
原创 【面试题】数据库事务隔离与传播属性是什么?
注:MySQL的REPEATABLE READ通过Next-Key Locking解决了大部分幻读问题MVCC(Multi-Version Concurrency Control)是一种无锁并发控制技术,通过保存数据的多个版本来实现读写并发,避免读写冲突。Web应用:READ COMMITTED(平衡性能与一致性)金融系统:REPEATABLE READ 或 SERIALIZABLE(强一致性)报表系统:READ UNCOMMITTED 或 READ COMMITTED(查询性能优先)电商系统。
2025-12-22 17:36:03
771
原创 重构开发逻辑:低代码 + AI 让智能系统搭建,从「写代码」到「说需求」
当低代码遇上AI,“不懂代码也能造智能大脑”不再是口号,而是正在发生的行业变革。这一变革的本质,是技术民主化的深化——让技术能力不再被专业门槛所束缚,让业务人员的创造力得到充分释放。但我们也要清醒地认识到,技术的普及不等于能力的降级。低代码+AI是工具,而非“银弹”,它无法替代开发人员的架构设计能力,也无法解决企业数字化转型的所有问题。未来,“业务人员主导开发+技术人员提供支撑”的协同模式,将成为企业数字化转型的主流。
2025-12-22 16:36:05
684
原创 技术面:MySQL篇(为啥会有非关系型数据库?MySQL的数据存储一定在磁盘吗?)
MySQL的数据存储不一定是基于磁盘的。虽然大多数情况下,MySQL使用InnoDB或MyISAM等存储引擎将数据存储在磁盘上(如.ibd或.MYD文件),但它也支持MEMORY存储引擎,允许将数据完全存储在内存中,从而获得极快的查询速度。使用MEMORY存储引擎时,数据仅存在于内存中,重启MySQL服务后数据会丢失,因此它适用于临时数据或缓存场景,而非持久化数据存储。
2025-12-19 17:41:17
785
原创 AI重构低代码/无代码开发:不止效率提升,更是开发范式革命
AI在低代码/无代码开发中的积极作用,本质上是技术融合推动的软件开发民主化进程。从技术层面看,AI通过NLP、生成式AI、机器学习等技术,重构了开发全流程,解决了传统低代码/无代码的核心痛点;从实践层面看,AI+低代码/无代码在政务、项目管理等场景的落地,证明了其在提升效率、降低成本、适配需求变化等方面的核心价值;从行业层面看,这种融合不仅重构了开发者的角色定位,更降低了软件开发的门槛,让更多非技术人员能够参与到数字化建设中。
2025-12-19 16:00:02
1202
原创 Oracle等待事件:性能诊断与优化的核心指南
等待事件是Oracle数据库性能优化的关键抓手,自Oracle 7.0.12版本引入以来,已成为DBA定位瓶颈、优化系统的核心工具。它通过记录进程在数据库操作中的各类等待行为,直观反映系统资源竞争、I/O瓶颈等潜在问题,为针对性优化提供明确方向。
2025-12-18 17:41:19
976
原创 低代码AI入门指南:别让“AI赋能”变成“AI负能”
AI Graveyard的1289个失败项目告诉我们:技术浪潮中,最危险的不是技术落后,而是把技术当目标而非工具。低代码AI的核心价值,从来不是“不用写代码”或“AI多智能”,而是“让技术更快地解决业务问题”。作为技术人员,我们需要警惕“技术炫技”的诱惑,回归“业务价值优先”的本质——当AI能帮运维人员提前发现设备故障,当审批流程能让群众少跑一次腿,当数据统计能让管理者快速决策,“AI赋能”才真正落地。低代码AI的入门,不需要高深的算法知识,只需要“找准痛点、简化技术、快速验证”的务实思维。
2025-12-18 16:24:48
865
原创 一文读懂 PHP PSR 接口 PSR-3、PSR-7、PSR-11、PSR-15 完整指南
什么是 PSR?由 PHP-FIG 发布的社区标准,侧重接口与规范。它只约定“契约”,不规定实现,因此不同库可以顺畅互通。接口 vs 实现接口规定“做什么”,实现负责“怎么做”。代码若依赖接口,就能在不改调用点的前提下替换实现。
2025-12-17 17:43:09
609
原创 效率跃迁 10 倍:AI 与低代码的深度融合,正在重塑企业开发生态
AI引领的低代码革命,表面看是开发效率的提升,本质是“人的解放”——让技术人员从重复劳动中解放,聚焦创新;让业务人员从技术依赖中解放,实现“需求直达应用”。这种解放带来的不仅是开发周期的缩短,更是企业数字化转型速度的提升。对于IT互联网产品技术人员而言,这场革命既是挑战也是机遇。固守传统编码能力,可能会被“AI+低代码”的效率浪潮淘汰;而主动拥抱新技术,将AI作为工具提升自身核心能力,才能在未来的开发生态中立足。最后抛出两个问题,欢迎在评论区讨论:你认为AI+低代码最先取代的开发岗位是什么?
2025-12-17 17:05:56
1022
原创 字符串匹配算法
KMP算法的关键在于构建一个部分匹配表(也叫失败函数或者next数组),这个表记录了当匹配失败时,模式串指针应该回退到的位置,让算法跳过已知不可能匹配的位置,提高匹配效率。:使用部分匹配表在文本串中查找模式串从左到右同时遍历文本串和模式串当字符不匹配时,根据next数组回退模式串指针当模式串完全匹配时,记录匹配位置并继续查找其他匹配。如果发生不匹配,通过以下规则计算跳转距离:坏字符规则:根据不匹配字符在模式串中的最右位置决定跳转距离好后缀规则:根据已匹配部分在模式串中的重复情况决定跳转距离。
2025-12-16 17:39:15
635
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅