logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ThreadLocal 深度剖析:自动清理、哈希策略与性能权衡

本文深入剖析了 ThreadLocal 的内部机制,重点探讨了其 ThreadLocalMap 的哈希策略与自动清理机制。ThreadLocalMap 采用开放地址法处理哈希冲突,通过精心设计的哈希增量实现均匀分布。其自动清理机制包括探测式清理(修复探测链)和启发式清理(平衡性能与清理效率),但仍有局限性,需手动调用 remove() 避免内存泄漏。与 HashMap 相比,ThreadLocal

#算法#后端#java
深入底层:解密 synchronized 与 volatile 的内存模型与实现机制

摘要:本文深入探讨了Java并发编程中synchronized和volatile的底层实现机制。从Java内存模型(JMM)的核心原理出发,分析了volatile通过内存屏障和MESI协议保证可见性,以及synchronized基于对象头、Monitor和锁升级的实现策略。重点揭示了JDK15+中偏向锁被废弃的原因,并对比了两者的内存语义、原子性保证及适用场景。文章通过硬件层到JVM层的多维度分析

#java#后端#面试
记我的第一次开源贡献:修复 Spring Cloud Alibaba 中的 Nacos 凭据泄露风险

摘要:本文记录了作者首次为开源项目 Spring Cloud Alibaba 贡献代码的经历。在备战实习期间,作者发现项目存在 Nacos 凭据泄露风险,便主动修复了 NacosConfigProperties 类中敏感信息明文打印的问题。通过添加脱敏方法和单元测试,最终代码被合并到主分支。这次贡献让作者深刻体会到行动胜于焦虑、工业级代码的严谨性以及参与开源项目的成就感,也坚定了继续参与开源生态建

#开源#java
深入剖析:为什么 String 是 HashMap Key 的最佳选择?

String 为什么适合做 HashMap 的 key? String 适合作为 HashMap 的 key 主要有四个原因: 不可变性:String 内容不可变,确保哈希值稳定,避免桶定位错误。 重写 equals() 和 hashCode():按内容而非对象地址比较,满足哈希容器的契约要求。 缓存哈希值:String 会缓存 hashCode() 结果,提升重复查找性能。 优化的哈希算法:采用

#java#后端
从 HashMap 到基因法:同一套位运算思想,如何从 JVM 走到分布式数据库

本文揭示了HashMap与基因分库分表法在底层逻辑上的惊人相似性。两者都利用2的幂次方的位运算特性实现高效路由定位:HashMap通过hash(key) & (n-1)确定桶下标,基因法则将路由信息直接编码进ID的低位(如Order_ID & 63)。关键区别在于,HashMap需要扰动高位来改善随机分布,而基因法刻意保持低位不变以确保多维度查询的路由一致性。这种设计使系统无需额外

#jvm#分布式#数据库
从 Raft 到 MySQL:我是怎么推导出半同步复制原理的

本文探讨了MySQL主从复制机制与分布式系统原理的关联。作者从异步、同步和半同步三种复制方式出发,结合Redis经验,推导出半同步复制的核心价值在于确保至少一个从库数据最新,以便主库故障时能快速切换。验证发现半同步复制确实能减少数据丢失,但选主需依赖额外组件。文章揭示了分布式系统"选数据最新节点"原则的普适性,展现了知识迁移在技术理解中的重要性。

#mysql#数据库#分布式
AI Skills:从低代码工作流到“包管理”生态的范式跃迁

AI Skills:从封闭工具到开放生态的范式变革 本文探讨了AI代理能力的范式转变,从低代码工作流向标准化"包管理"生态的演进。早期低代码平台(如Coze/Dify)通过工作流封装能力,但存在互操作性不足的问题。Anthropic推动的Model Context Protocol(MCP)实现了程序性知识的标准化定义,为AI代理建立了统一交互框架。Vercel推出的skill

#人工智能
从暴力审查到 Harness 工程化:一个 AI 时代程序员的觉醒

《AI时代程序员的复杂度转移与约束管理》摘要:本文记录了作者从无限token时期的AI辅助开发到建立系统化审查机制的过程。初期依赖顶级模型进行大规模重构(46次提交),虽产出丰富却陷入"上下文污染-纠正"循环,深刻体会到"复杂度只会转移不会消失"的架构本质。面对token限制后,作者通过建立AGENTS.md框架(240行)、审查指南和已知上下文文档,实现了

#人工智能#后端
从暴力审查到 Harness 工程化:一个 AI 时代程序员的觉醒

《AI时代程序员的复杂度转移与约束管理》摘要:本文记录了作者从无限token时期的AI辅助开发到建立系统化审查机制的过程。初期依赖顶级模型进行大规模重构(46次提交),虽产出丰富却陷入"上下文污染-纠正"循环,深刻体会到"复杂度只会转移不会消失"的架构本质。面对token限制后,作者通过建立AGENTS.md框架(240行)、审查指南和已知上下文文档,实现了

#人工智能#后端
从 Claude 到生活助手:我如何用一个 Skill 实践“AI 技能生活化”的未来

本文介绍了如何将AI技能从编程领域扩展到日常生活场景,通过开源项目task-reminder实现了AI提醒功能的"生活化"。该项目采用自适应环境探测、自动化初始化和轻量级架构设计,让普通用户无需技术背景即可使用。作者指出当前AI技能生态过度集中于编程领域,提出未来AI技能应像App一样独立运行,成为连接数字智能与物理生活的桥梁。该项目验证了低门槛、生活化AI技能的可行性,呼吁更

#生活#人工智能
    共 15 条
  • 1
  • 2
  • 请选择