- 博客(1614)
- 资源 (16)
- 问答 (4)
- 收藏
- 关注
原创 详解 Mysql LEFT JOIN和JOIN查询区别及原理
一、Join查询原理查询原理:MySQL内部采用了一种叫做 nested loop join(嵌套循环连接)的算法。Nested Loop Join 实际上就是通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表中查询数据,然后合并结果。如果还有第三个参与 Join,则再通过前两个表的 Join 结果集作为循环基础数据,再一次通过循环查询条件到第三个表中查询数据,如此往复,基本上MySQL采用的是最容易理解的算法来实现join。所以驱动表的选择非常重要,驱动表的数据
2020-06-28 10:42:06
26747
7
原创 必学必会的nginx配置location匹配顺序总结
location匹配顺序1."="前缀指令匹配,如果匹配成功,则停止其他匹配2.普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配)3.正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹配4.如果第三步中有匹配成功,则使用该结果,否则使用第二步结果注意点匹配的顺序是先匹配普通字符串,然后再匹配正则表达式。另外普通字符串匹配...
2019-06-18 16:36:08
24767
1
原创 Claude Code 03:模型与响应篇
本文介绍了如何优化Claude Code的使用策略,主要包括模型选择、思考深度控制和成本优化三个方面。不同模型(Haiku、Sonnet、Opus)适用于不同难度任务,通过effort level和ultrathink关键词可以调整思考深度,fast mode适合快速任务。此外,prompt caching机制能自动节省成本。关键是根据任务需求合理搭配这些工具,避免过度使用高配选项造成资源浪费。
2026-06-15 23:29:06
248
原创 Claude Code02:记忆与上下文管理篇
本文介绍了Claude AI的三类记忆机制及其管理方法: 记忆类型区分:上下文(临时对话记忆)、CLAUDE.md(项目规则文件)和Auto Memory(用户长期偏好)三类记忆的存储位置、加载时机和典型用例。 上下文窗口管理:解释了Claude的"工作台"容量限制及应对策略,包括使用CLAUDE.md存储稳定信息、通过Subagent隔离大文件处理、定期清理对话等。 CLAUDE.md最佳实践:详细说明如何编写有效的项目规则文件,包括文件位置、内容规范(项目约定/代码风格/验证标准)、拆分建议(使用.cl
2026-06-15 23:28:30
500
原创 讲透 Claude Code 系列 (一) : 最详细的小白入门教程!
本文介绍了Claude Code AI编程助手的安装与配置方法。Claude Code区别于普通AI对话工具,可直接操作项目文件、执行代码修改等任务。安装过程包括Git、Node环境准备,通过PowerShell执行官方安装命令。针对国内使用限制,提供了环境变量配置、校验绕过和切换国产大模型(阿里云百炼)的解决方案。最后推荐使用CC Switch工具实现低成本模型切换,通过可视化界面管理API密钥。文中包含详细的操作步骤和问题排查方法,帮助开发者顺利部署这一高效的AI编程助手。
2026-06-10 23:16:34
417
原创 SpringBoot开发必懂:VO、DTO、BO、DO、PO到底怎么用?一篇吃透不踩坑
本文用通俗易懂的语言讲解了SpringBoot开发中常见的VO、DTO、BO、DO、PO等对象的区别和使用场景。核心观点是"分层解耦",让每个对象职责单一:PO对应数据库表,BO承载业务逻辑,DTO用于层间数据传输,VO专门适配前端展示。文章通过具体示例说明每个对象的定义方法和使用场景,并给出实用建议:中小项目可适当简化,不必过度设计;大型项目则需严格区分,确保代码清晰可维护。掌握这些对象的分层使用能有效避免字段泄露、逻辑混乱等问题,提升代码质量。
2026-06-10 23:14:32
173
原创 告别 MyBatis IN 语句的 foreach 模板:自定义扩展 让 SQL 编写效率翻倍!
MyBatis IN 语句优化方案 本文探讨了 MyBatis 中繁琐的 IN 语句写法问题,并提出了三种优化方案: 插件方案:通过拦截 SQL 解析过程实现,但存在技术障碍。 扩展 SqlNode:自定义标签简化语法,需修改 LanguageDriver 配置。 扩展 LanguageDriver(推荐方案): 重写方法解析注解和 XML 中的 in #{参数} 语法 自动替换为 foreach 标签并处理动态 SQL 支持原生节点修改和递归处理 最终方案实现了类似 in #{idList} 的简洁语法,
2026-06-03 09:30:00
330
原创 Spring @Transactional做不到的5件事,我用这6种方法解决了
本文探讨了@Transactional注解在实际开发中的5个常见痛点,并提供了6种更灵活的解决方案。主要亮点包括:1) 使用TransactionTemplate区分业务失败与系统异常,实现动态回滚控制;2) 详解@Transactional关键参数(隔离级别、超时等)的配置技巧;3) 通过事务同步器解决MQ消息与事务一致性问题。文章通过实际代码演示了如何保留风控失败订单、正确处理批量操作失败、确保日志持久化等场景,为复杂事务处理提供了实用指南。这些方法比单纯依赖@Transactional更能满足实际业务
2026-06-03 09:15:00
352
原创 K8S 在 Nacos 点了下线,为什么流量还是打到了停机的机器上?
摘要: 本文探讨了线上服务发版时如何实现无损下线,避免用户请求报错。常见误区是直接下线Nacos实例或kill进程,这会导致网关缓存未更新而继续向已下线节点发送请求。解决方案分三步:1)在K8s PreStop Hook中主动从Nacos摘流;2)客户端开启重试机制,自动切换健康节点;3)应用配置优雅停机,处理已接收的请求。通过K8s、Nacos和客户端重试的联动,实现平滑下线,确保用户无感知。微服务高可用关键在于对下线流程每个细节的把控。
2026-03-24 08:30:00
532
原创 阿里面试官:多少并发算高并发?答1000QPS的我,面试直接挂了
高并发架构演进全攻略:从单体到分布式的5个关键阶段 高并发并非固定数字,而是由业务场景决定的相对概念。本文系统梳理了高并发系统的3个核心指标(并发数、吞吐量、响应时间)和5个演进阶段:1)垂直扩展优化单体;2)水平扩展负载均衡;3)引入缓存分层;4)异步化削峰填谷;5)数据库读写分离与分库分表。最后防线是限流、降级和熔断机制。高并发的本质是随着业务增长,通过合理的架构演进持续保证系统在高负载下的稳定性能。
2026-03-12 09:30:00
553
转载 Clawdbot 杀红眼了,几天怒斩 80k+ Star!你真正的 AI 数字员工来了!!(附保姆级安装使用教程)
AI开源工具Moltbot(原名Clawdbot)近日引发热议,其核心功能是作为"数字员工"执行任务而非简单问答。它能调用工具、操作文件、运行任务流程,并具有持久化记忆功能。虽然支持多平台安装,但存在较大安全风险,建议在虚拟机或云端使用。Moltbot的真正价值在于定时任务和Skills功能,可自动化处理重复性工作。不过目前仍面临权限风险高、成本不可控、配置复杂等问题。建议用户谨慎使用,先在安全环境中测试。该工具的出现标志着AI正从聊天向实际工作执行转变,是数字助手发展的重要里程碑。
2026-03-12 09:00:00
109
原创 Hutool的TemporalUtil让你的时间间隔操作如虎添翼
统一API:使用统一的offset方法替代多种plus操作无缝转换:完美衔接TimeUnit和ChronoUnit类型安全:充分利用泛型,编译期类型检查简化计算:一键获取时间差,无需手动计算星期偏移:智能处理星期相关的偏移操作。
2026-03-11 09:00:00
311
原创 拒绝繁琐邮件封装!JakartaMailUtil 极简实现邮件发送 + 附件 + 抄送 + 密送
Hutool的JakartaMailUtil简化了Java邮件发送流程,支持纯文本、HTML格式邮件及附件发送。通过MailAccount对象配置SMTP服务器信息,可轻松实现用户通知、系统告警等功能。核心方法包括sendText()发送文本邮件、sendHtml()发送富文本邮件,支持单个或多个收件人。相比原生JavaMail API,Hutool封装后仅需几行代码即可完成邮件发送,大幅提升开发效率。
2026-03-11 07:30:00
559
原创 5 个例子理解透彻 SOLID 原则
摘要 软件设计原则(SOLID)为构建可维护、可扩展的代码提供了重要指导。单一职责原则强调每个类只做一件事;开放封闭原则提倡通过扩展而非修改现有代码来添加功能;里氏替换原则要求子类能够完全替代父类;接口隔离原则避免实现冗余接口方法。通过银行对账单、电商支付等实例分析,本文展示了如何应用这些原则解决代码耦合、扩展性差等问题,从而提高开发效率和系统灵活性。遵循这些原则能显著改善代码质量,降低维护成本。
2026-03-05 23:43:19
707
转载 大模型概念扫盲
我们常说人工智能,然而人工智能是一个非常广泛的领域,涵盖了多种技术和方法,包括但不限于机器学习、自然语言处理、计算机视觉、专家系统、机器人学等。人工智能旨在创建能够模拟人类智能行为的系统或软件。它包括感知、推理、学习、决策和语言理解等多种能力,目标是让计算机能够像人类一样思考和行动。在人工智能领域,有两个和人工智能紧密相关的概念,分别是机器学习和深度学习,这两个概念相信各位小伙伴也经常听别人说起。
2025-04-07 20:20:49
674
原创 聊聊什么是中台?
中台作为现象级的名词难免异化,十年来我一直在关注和思考,通过学习和实践沉淀着自己的认识。架构师要具备认清本质化繁为简的能力,更要有谨守本心的定力,不跟风不盲从不迷失不为了技术而忽略业务目标,做好自己的职责,至于“中台”是部门还是系统,是平台还是中心,都只是代号而已。让技术的归技术,业务的归业务,管理的归管理,战略的归战略,做好本分,最符合架构原则。
2025-04-07 20:20:06
2223
转载 AI 世界生存手册(一):从LR到DeepSeek,模型慢慢变大了,也变强了
传统机器学习、深度学习、大模型等等都属于机器学习机器学习 = 特征工程+算法模型。其中特征工程是模型的输入,训练阶段模型会对特征(除标签列)进行各种计算期望得到的结果最大可能的接近样本的标签列。训练完成后,固化下来的参数,将用在后续的模型预测阶段中。特征工程是提升模型性能的关键环节,通过合理的特征设计,可以显著提高算法的效果上限。拥有好的特征后,算法模型能够更接近其理论效果上限,从而实现更高的预测准确性。
2025-04-07 20:18:43
526
原创 DeepSeek-R1-Distil-Qwen-7B:为何说它是Qwen模型的“瘦身版”?
本文以深度求索(DeepSeek)发布的轻量化模型 DeepSeek-R1-Distil-Qwen-7B 为核心,从技术命名解析、知识蒸馏原理到行业应用价值展开系统性解读。通过拆解“DeepSeek-R1-Distil-Qwen-7B”的命名结构,揭示其背后的技术逻辑:基于阿里云Qwen-7B大模型,采用知识蒸馏技术实现模型压缩与效率优化。
2025-04-07 20:18:20
1639
1
原创 白话大模型相关概念
大模型的强大能力主要来源于两个方面:一是超大规模的数据训练,模型通常使用来自互联网、书籍、新闻等多样化的数据进行训练,使其具备广泛的知识背景。蒸馏则是通过用大模型生成大量的训练数据,再用这些数据训练一个小模型,让小模型学会大模型的核心能力,从而实现“小模型做大事”以 GPT-3 为例,它拥有 1750 亿个参数,这些参数是模型中的“数字权重”,通过训练数据不断调整,使模型能够理解语言的语义和逻辑。在自然语言中,单词之间存在语义上的关系,如“苹果”与“香蕉”是相似的,而“苹果”与“汽车”关系较远。
2025-03-19 07:00:00
1147
原创 超详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决
通过以上内容,我们了解了 ollama 在国内环境下的安装使用方法,并介绍了因为国内网络特色导致安装过程可能会遇到的常见问题及解决办法。希望这些内容对你有所帮助,如果你有任何问题或建议,欢迎在评论区留言交流。• ollama 官方站:https://ollama.com• ollama 中文站:https://ollama.org.cn• ollama 入门:https://ollama.readthedocs.io/quickstart/
2025-03-18 22:53:34
2413
原创 AnythingLLM + Ollama 实现私有知识库
是一款开箱即用的一体化 AI 应用,支持 RAG(检索增强生成)、AI 代理等功能。它无需编写代码或处理复杂的基础设施问题,适合快速搭建私有知识库和智能问答系统。通过和Ollama的结合,我们成功搭建了一个具备私有知识库能力的 AI 应用。私有知识库不仅可以让 AI 回答通用问题,还能基于私有文档(如企业内部资料、图书等)生成更精准的答案。注意: 随着知识库中文档数量的增加,回答的准确性可能会受到影响。建议将文档分散到多个工作区,以提高检索效率。
2025-03-18 08:45:00
1236
原创 VLLM vs. Ollama
在深入了解细节之前,让我们先了解这两个框架的核心目的。VLLM(超大型语言模型)是由 SKYPILOT 构建的推理优化框架,旨在提高在 GPU 上运行的 LLM 的效率。使用连续批处理快速生成令牌。通过 PagedAttention 实现高效的内存使用,允许处理大型上下文窗口而不会消耗过多的 GPU 内存。无缝集成到 AI 工作流中,兼容 PyTorch 和 TensorFlow 等主要深度学习平台。VLLM 被需要大规模高性能推理的 AI 研究人员和企业广泛使用。
2025-03-17 21:45:45
1291
原创 JS学习之JavaScript模块化规范进化论
JavaScript 语言诞生至今,模块规范化之路曲曲折折。社区先后出现了各种解决方案,包括 AMD、CMD、CommonJS 等,而后 ECMA 组织在 JavaScript 语言标准层面,增加了模块功能(因为该功能是在 ES2015 版本引入的,所以在下文中将之称为 ES6 module)。今天我们就来聊聊,为什么会出现这些不同的模块规范,它们在所处的历史节点解决了哪些问题?
2025-01-22 23:13:18
1230
原创 javaScript 的语法糖全解
本文介绍了 JavaScript 中常用的 40 种语法糖,涵盖变量声明、对象操作、函数简写和现代语法特性等多个方面。掌握这些语法糖,可以使代码更简洁、更易读,并提升开发效率。我们鼓励大家在实际项目中尝试这些技巧,感受它们带来的便利。现在,请思考一下:你在日常开发中还遇到过哪些让你惊艳的语法糖?欢迎在评论区分享你的经验和见解,让我们一起进步!
2025-01-22 22:48:41
1663
原创 开发大神都在用的开发环境和工具——>提高开发效率
本文主要介绍后端开发同学常用的工具以及开发环境搭建。本文主要介绍后端开发同学常用的工具,以及开发环境搭建,以下内容有部分软件是针对 MacOS 操作系统,大部分软件各平台通用。
2025-01-15 06:45:00
2791
转载 聊聊Druid连接池的内部原理及推荐配置
平时跟RD排查问题,经常会遇到数据库连接池相关的问题,比如获取不到连接、抛异常、长时间占用无法归还、探活、性能开销等。发现不少同学对连接池仍停留在表层的一知半解,很多配置也是相互复制的,基于此,本文整理了。当我们有了连接池,应用程序启动时就预先建立多个数据库连接对象,然后将连接对象保存到连接池中。新建连接和关闭连接,操作较重,费时费力,也影响了业务请求。功能,连接从连接池借出后,长时间不归还,将触发强制关闭其。连接池最核心的功能就是连接的获取与回收。)连接,随着程序的运行,池不忙时也会保持最少3个(
2025-01-14 09:00:00
479
原创 对线面试官:MySQL 给数据表增加一列,一定会锁表吗?
总结上面的所有内容,实际就是单纯的增加一个字段,表结构修改和索引添加通常不会锁定整个表,在某些情况下,MySQL可能需要锁定整个表。同时数据量过大的时候,会出现一些性能问题,所以我们实际操作的过程中,一定要关注表的数据多小,最终的数据大小(这里要关注索引数据)。从 MySQL 5.6 版本开始,InnoDB 引擎引入了在线数据定义语言(DDL)操作,其中包括对表结构的修改。MySQL 8.0 在处理大数据表增加字段的情况下进行了一些优化,进一步优化了减少对表的锁定时间和降低性能影响。
2025-01-09 07:45:00
1346
原创 SpringBoot Maven 项目 pom 中的 plugin 插件用法整理
把 SpringBoot Maven 项目打包成 jar 文件时,我们通常用到 spring-boot-maven-plugin 插件。前面也介绍过,在 spring-boot-starter-parent POM 和 spring-boot-starter POM 中都有插件的管理,现在我们就撸一把构建元素中插件的用法。project 标签指定项目的声明。modelVersion 标签指定 POM 模型的版本。目前使用的是 4.0.0 版本。这是 Maven 项目的根元素,定义了项目模型的版本。
2025-01-05 22:34:37
3165
1
原创 SpringBoot 多种生产打包方式详解
生产上发布 Spring Boot 项目时,流程颇为繁琐且低效。但凡代码有一丁点改动,就得把整个项目重新打包部署,耗时费力不说,生成的 JAR 包还特别臃肿,体积庞大。每次更新项目,光是上传这大文件就得花费不少时间,严重影响工作节奏。为解决这一痛点,我打算把依赖库以及配置文件(lib 文件夹下的那些 jar 包, 还有 config 下的 applacation.yml 等文件)从项目主体里剥离出来,后续部署时,只需发布核心代码就行,这样既能加快部署速度,又能减轻文件传输负担,让项目更新变得轻松便捷。
2025-01-05 22:27:20
1872
原创 BigDecimal 为什么可以不丢失精度?
所以可以得出结论:BigDecimal在计算时,实际会把数值扩大10的n次倍,变成一个long型整数进行计算,整数计算时自然可以实现精度不丢失。同时结合精度scale,实现最终结果的计算。在金融领域,为了保证数据的精度,往往会使用BigDecimal。本文就来探讨下为什么BigDecimal可以保证精度不丢失。通过debug来发现源码中的奥秘是了解类运行机制很好的方式。这个例子中,该方法传入的参数分别是:xs=236,scale1=2,ys=35,scale2=1。
2025-01-04 08:15:00
839
原创 Spring 状态机 VS 阿里状态机:哪个更适合你的业务场景
现代软件开发中,状态机作为一种强大的工具,被广泛应用于各种业务场景,用以管理对象的生命周期及其状态转换。本文将深入探讨 Spring 状态机和阿里状态机。
2025-01-03 07:00:00
1201
原创 深入理解堆外内存:从原理到实践,MQ为什么不会引起频繁GC?
明明服务器有32GB内存,可JVM却只能使用4GB,剩下的内存成了"摆设"。又或者,你是否好奇为什么Kafka、RocketMQ这样的高性能消息队列系统能轻松处理TB级的数据而不会引起频繁的GC?今天,让我们一起揭开堆外内存的神秘面纱。公司有一个中心仓库(JVM堆内存),所有的包裹都要经过这个仓库的处理。这时你会想:如果能在公司周边设立一些小型中转站(堆外内存),直接处理一些大件包裹,是不是就能解决这些问题?它像一个"管家",虽然自己住在JVM堆里(很小的对象),但管理的是堆外的"领地"(直接内存)。
2025-01-02 10:00:00
861
原创 jenkins pipeline post语法
具体的代码实现,可以放在别的包里面。一些条件后 的块的内支持 post:部分 always,changed,failure,success,unstable,和 aborted。在 post 代码块区域,支持多种条件指令,这些指令有 always,changed,failure,success,unstable,和 aborted。这个 failure 条件一般来说,百分百会写到 Pipeline 代码中,内容无非就是发邮件通知,或者发微信群,钉钉机器人,还有国外的 slack 聊天群组等。
2025-01-01 23:17:20
1333
原创 哪些年背过的面试题——ES篇
特点没有其他依赖,下载后安装非常方便;只用修改几个参数就可以搭建起来一个集群;输入 / 输出格式为 JSON,意味着不需要定义 Schema,快捷方便;基本所有操作 (索引、查询、甚至是配置) 都可以通过 HTTP 接口进行;节点对外表现对等(每个节点都可以用来做入口) 加入节点自动负载均衡;可根据不同的用途分索引,可以同时操作多个索引;可以扩展到 PB 级的结构化和非结构化数据 海量数据的近实时处理;功能分布式的搜索引擎分布式:Elasticsearch 自动将海量数据分散到多台服务器上去存储和检索。
2024-11-01 22:54:46
1249
原创 那些年背过的面试题——架构设计篇
通过 DDD 领域模型,对服务进行拆分,将一个系统拆分为多个子系统,做成 SpringCloud 的微服务。微服务设计时要尽可能做到少扇出,多扇入,根据服务器的承载,进行客户端负载均衡,通过对核心服务的上游服务进行限流和降级改造。一个服务的代码不要太多,1 万行左右,两三万撑死了吧。大部分的系统,是要进行的,第一次拆分,可能就是将以前的多个模块该拆分开来了,比如说将电商系统拆分成等等吧。但是后面可能每个系统又变得越来越复杂了,比如说采购系统里面又分成了,订单系统又拆分成了系统。
2024-10-15 23:28:16
1405
原创 那些年背过的面试题——Spring篇
IoC(Inverse of Control: 控制反转)是⼀种设计思想,就是将原本在程序中⼿动创建对象的控制权,交由 Spring 框架来管理。IoC 在其他语⾔中也有应用,并非Spring 特有。IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个 Map(key,value),Map 中存放的是各种对象。将对象之间的相互依赖关系交给 IoC 容器来管理,并由 IoC 容器完成对象的注⼊。这样可以很大程度上简化应用的开发,把应用从复杂的依赖关系中解放出来。
2024-09-02 23:14:59
1350
原创 那些年背过的面试题——Netty篇
Core 核心层Core 核心层是 Netty 最精华的内容,它提供了底层网络通信的通用抽象和实现,包括事件模型、通用API、支持零拷贝的 ByteBuf 等。Protocol Support 协议支持层协议支持层基本上覆盖了主流协议的编解码实现,如 HTTP、Protobuf、WebSocket、二进制等主流协议,此外 Netty 还支持自定义应用层协议。Netty 丰富的协议支持降低了用户的开发成本,基于 Netty 我们可以快速开发 HTTP、WebSocket 等服务。Transport Ser
2024-07-08 22:41:58
1610
西蒙iPhone-OpenGL ES 教程【中文翻译版PDF】
2017-09-01
Jenkins持续集成从入门到精通.pdf
2021-09-07
2022图解网络 IPv6 、网络设备、二层交换机、三层交换机、防火墙、无线、设备选型,网络规划和实战
2022-07-04
windows加密器9款加密工具合集:U盘防拷贝、视频加密、PDF文件加密、EXE文件加密等
2022-05-13
android 选项卡TanHost
2015-05-02
Maven基础讲义.zip
2019-07-30
SurfaceView
2015-05-05
Navicat.7z
2020-03-26
CameraDemo
2015-05-02
iOS 怎么上架后台持续定位的应用
2016-01-20
求vs2012怎么连接Oracle,大神们求助!!!
2015-05-09
请问Android.mk在哪里,需要自己写吗?求各位大侠指教。
2015-04-08
android获取GPS添加权限后出现问题。求大神给指点。
2015-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅