登录社区云,与社区用户共同成长
邀请您加入社区
这是一套聚焦于“AIAgent(智能体)”的入门到实践学习路线。本路线旨在摒弃冗余理论,以“理解原理、动手实践、项目驱动”为核心,帮助你在最短时间内掌握构建Agent的核心技能。目标:理解大模型工作原理,掌握与大模型高效沟通的能力,这是Agent的“大脑”。深入理解提示词工程学习内容:零样本提示、少样本提示、思维链。核心技巧:掌握角色扮演、任务分解、格式限定等高级提示技巧,确保模型输出稳定可用。实
性能优化可以说是我们程序员的必修课,如果你想要跳出CRUD的苦海,成为一个更“高级”的程序员的话,性能优化这一关你是无论无何都要去面对的。为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代码优化外,在软件架构上、JVM虚拟机层、数据库以及操作系统层面都可以通过各种手段进行调优,从而在整体上提升系统的性能。
本文从操作系统管理、进程介绍和PCB关键属性三个方面解析了计算机内部工作机制。操作系统通过描述(结构体表示属性)和组织(数据结构管理)来管理硬件和软件资源。进程是运行中的程序,操作系统通过PCB(进程控制块)管理进程,使用链表组织PCB。PCB包含PID(进程标识)、内存指针(区分指令和数据)、文件描述符表(管理文件资源)、进程状态(就绪/阻塞)、优先级(资源分配)和上下文(保存中间状态)等关键属
在Java后端开发岗位的面试准备中,“八股文”常被误解为死记硬背的答案合集,但真正的价值在于构建高频考点地图,并训练将知识点清晰表达的能力。本文从面试官考察逻辑出发,探讨集合、并发、JVM、MySQL、Redis等核心模块的串联方法——例如通过HashMap的put流程理解线程安全问题,通过一条带缓存的查询链路打通Spring、数据库与Redis的关联。文章提供了一套7天闭环复习节奏,包括盘点、补
本教程详细介绍了Spring Cloud Alibaba 2025.0.0与Seata 2.0及MyBatis-Plus的集成方法。首先需准备JDK 17+、Maven 3.8+等基础环境,通过pom.xml配置各组件版本。重点讲解了Seata Server的部署配置,包括Nacos注册中心的初始化和启动流程。在业务系统中,需配置数据源代理和分布式事务参数,并通过@GlobalTransactio
本文介绍了使用Redis的setnx指令实现分布式锁来解决秒杀系统中的超卖问题。通过创建SimpleRedisLock类封装分布式锁的基本操作,包括获取锁(tryLock)和释放锁(unlock)。在秒杀业务逻辑中,通过用户ID作为锁的key,确保同一用户只能有一个请求获得锁,从而避免重复下单。获取锁成功后才执行减库存等操作,最后释放锁。这种方案相比本地锁(synchronized)能更好地支持分
1-4.Java JWT 之 jjwt 进阶(发行时间和过期时间、过期时间验证)
今年的金三银四也快到了,很多粉丝反应说让我总结一份高质量面试题,金三银四之前想要准备准备,于是就有了今天这篇文章~
std::shared_ptr:允许多个智能指针共享同一块内存。每个都会跟踪被管理的对象的引用计数。当引用计数降为零时,内存将被自动释放。这有助于防止资源泄漏。std::unique_ptr:表示独占所有权,只能有一个指向特定内存区域。当离开其作用域时,它将自动释放内存。std::weak_ptr:是的弱引用,不会增加引用计数。它通常用于解决循环引用问题,允许在不增加引用计数的情况下检查是否仍然有
一,分布式锁诞生的原因为什么分布式锁会诞生?类似于淘宝双11的秒杀活动,同一件商品怎么才能只被一个用户抢到,其他用户抢不到?分布式锁就能巧妙地解决类似秒杀和抢单的问题。技术源于生活,更高于生活。对于阿里的那种的大型秒杀活动,分布式锁只是其中的一环,单单靠分布式锁不足以支撑那种大并发的情景,后续解决方案会陆续更新。本期只讲解分布式锁。二,常见的分布式锁1,基于...
本文介绍了正则表达式在Java开发中的应用。主要内容包括:1)正则表达式的基本概念和语法规则;2)Java中使用Pattern和Matcher类操作正则的方法;3)常用正则语法如字符匹配、数量控制等;4)实际应用案例(手机号校验、邮箱验证等);5)常见使用误区和技巧。文章通过代码示例展示了正则表达式在字符串处理中的强大功能,帮助开发者高效完成字符串匹配、提取和替换等任务。
说个很早之前自己遇到过数据库死锁的问题。有个业务主要逻辑就是新增订单、修改订单、查询订单等操作。然后因为订单是不能重复的,所以当时在新增订单的时候做了幂等性校验,做法就是在新增订单记录之前,先通过 select ... for update 语句查询订单是否存在,如果不存在才插入订单记录。
正则表达式(Regular Expression,简称Regex)是处理字符串的利器。在Java中,通过包提供了强大的支持。无论你是要进行数据验证、文本替换还是复杂的内容提取,掌握正则表达式都是程序员的必备技能。在写代码之前,必须熟记这些“积木”。表达式含义备注\d匹配一个数字,等价于 [0-9]注意:Java字符串中需写成 "\\d"\w匹配字母、数字或下划线,等价于 [a-zA-Z_0-9]"
2025届秋招笔试难度适中,算法题涉及优先队列、树形DP等知识点,能完成1.5题以上基本可进面试。面试内容包含高频八股文(如Java集合、多线程)和实际问题解决(Spring循环依赖、慢接口排查)。京东科技等大厂二面更关注实习经历细节,有相关经验者优势明显。技术考察点包括算法优化、JVM调优和秒杀场景解决方案,建议提前准备校招大礼包减少信息差。
2026年开始了,今年的金三银四也快到了,很多粉丝私信反应说让我总结一份高质量面试题,金三银四之前想要准备准备,于是就有了今天这篇文章~
程序员面试背八股,可以说是现在互联网开发岗招聘不可逆的形式了,其中最卷的当属Java!(网上动不动就是成千上百道的面试题总结)你要是都能啃下来,平时技术不是太差的话,面试基本上问题就不会太大。
本文深入探讨了中小型项目在技术选型时面临的经典难题:选择Firebase这类BaaS平台还是自建后端。文章从开发效率、成本结构、扩展性、灵活性及功能需求五大维度进行对比分析,并结合社交应用、电商平台等实战场景,为开发者提供了清晰的决策框架和混合架构策略,旨在帮助团队根据项目阶段与核心目标做出最适合的选择。
Redis 为什么那么快?除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理。
秒杀系统核心KPI峰值QPS:系统能承载的最大请求数,目标平均响应时间(RT) :端到端延迟,目标<300ms(p95)成功率:秒杀成功订单数/总请求数,目标>95%超卖率:超卖订单数/总订单数,目标0%系统可用性:全年>99.9%指标关联公式系统理论QPS = 最佳线程数 × (1000 / 平均RT)最佳线程数 = CPU核心数 × (1 / 阻塞系数)阻塞系数 = 0.8~0.9 (IO密
本文探讨游戏自动化测试平台架构设计的通用要点。首先强调精细化的测试用例管理,包括用例结构设计和多维度索引机制;其次分析多粒度测试任务执行体系,提出任务模板复用方案;然后讨论任务调度执行机制,建议通过MQ或定时任务确保状态一致性;最后指出需完善执行追踪模块,记录详细操作日志以提升问题排查效率。文章指出,提升自动化测试的稳定性和结果可读性是平台长期发展的关键。
本文详细解析微信小程序短视频开发全流程中的关键问题与解决方案,涵盖注册流程、后端接口调试等常见避坑指南。特别针对短视频平台开发中的微信小程序注册陷阱、类目选择、服务器配置等核心问题提供实战经验,帮助开发者高效完成项目开发与上线。
本文提供了一份NestJS限流从单节点到分布式集群的完整实战指南。详细介绍了如何使用@nestjs/throttler模块进行基础配置,并重点讲解了通过集成Redis实现分布式限流的关键步骤。此外,还涵盖了自定义限流策略、监控告警集成以及性能调优等高级主题,帮助开发者构建稳固、可扩展的API防护体系。
本文针对HTTP连接池爆满引发的“Max retries exceeded with url”问题,深入解析了Keep-Alive与Close机制的实战选择。从系统资源(内存、CPU、文件描述符)视角出发,提供了服务器与客户端场景下的决策流程图,并给出Apache、Nginx的具体配置调优建议,帮助开发者在性能与稳定性间找到最佳平衡。
本文详细介绍了在NestJS应用中实现从基础到高级的限流方案。通过集成@nestjs/throttler模块,从单机内存配置起步,重点阐述了在分布式集群环境下如何集成Redis作为集中式存储以解决多实例限流状态共享的核心问题。文章还涵盖了自定义限流规则、接入监控告警以及实现白名单等进阶实战策略,帮助开发者构建健壮、可观测的API防护体系。
本文详细解析了在ThinkPHP6框架中集成微信小程序支付功能的全流程,从环境准备、平台订单构建、V3接口签名到支付回调处理。文章重点剖析了API证书管理、签名机制、事务处理等核心环节,并提供了实战代码与避坑指南,帮助开发者高效、安全地实现支付功能。
2025年经济复苏,当前已进入金三银四跳槽旺季,不知各位Java架构师是否寻得理想职位。为提供优质资源,我自1月起便着手整理近年最高频的Java面试题,耗时三天两夜,内容极为丰富。今天呢,小编就通过这篇文章把这几月整理的Java面试八股文大全PDF版分享给大家.有需要的伙伴获取即可!而这份Java八股文小编给大家分成了5大份,26小份。里面更是包含了700多道Java高频面试题。多说无益,看内容。
这份面试资料来源于互联网大厂的真实面试内容,每个问题均配有完整详细的答案,避免了网上杂乱资料中常见的缺失或不规范问题。作为我长期积累整理的精品资源,它适合设计,适用于传统和互联网行业。掌握这些技术能显著提升竞争力并获取优厚薪资,希望对您有所帮助。,也不要忘了给博主三连支持一下哈!
【代码】思考:Java如何定位死锁?
公众号:阿Q技术站
大端存储(Big-Endian): 在大端存储中,最高有效字节(Most Significant Byte,MSB)位于最低地址处,而最低有效字节(Least Significant Byte,LSB)位于最高地址处。这意味着在内存中,数据的高位字节存储在低地址中,依次排列到低位字节存储在高地址中。这类似于阅读书籍时,从左到右依次阅读。小端存储(Little-Endian): 在小端存储中,最低有
互斥锁(Mutex): 互斥锁是最基本的线程同步机制,用于保护共享资源,确保一次只有一个线程可以访问被锁定的资源。线程在访问共享资源之前会尝试获取锁,如果锁已被其他线程占用,线程将被阻塞,直到锁可用。一旦线程完成操作,它会释放锁,允许其他线程访问。信号量(Semaphore): 信号量是一种更通用的同步机制,用于控制对一组资源的访问。它可以允许多个线程同时访问资源,但受信号量的计数限制。信号量的计
(1). 定义指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式模型-视图模式,它是对象行为型模式。PS: 观察者模式是 【1对多】的关系,后面的中介者模式是 【多对多】的关系。(2). 优点:A. 降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。B. 目标与观察者之间建立了一套触发机制。(3). 缺点
(1). 定义是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。(2). 优点A. 降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。B. 对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易
脏读是指一个事务读取到了其他事务没有提交的数据,不可重复读是指一个事务内多次根据同一个查询条件查询出来的“同一行记录的值不一样”,幻读是指一个事务内多次 根据同个条件查出来的记录行数不一样。为了解决事务并发带来的问题,才有了事务规范中的四个事务隔离级别,不同隔离级别对上面问题部分或者全部做了避免。MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行增删改操作前,会自动给
刚面试完字节的后端,基本是凉了。正好上周也面试了阿里达摩院,那个是被捞起来的简历,问的也比较随便,字节这次算是比较正式严肃的一次。从这次面试来复盘一下,看看整个过程暴露出的问题以及接下来应该继续学习哪些东西。先说一下本人的基础:本科专业是通信工程,做过一些硬件的比赛和项目,用的编程语言是C,掌握程度基本就是最基础的C的语法结构。研究生专业是网络安全,不过做的都是偏向于学术性的工作,平常需要编程的东
1.简单工厂模式( Simple Factory Pattern )目录简单工厂模式( Simple Factory Pattern )模式动机模式定义模式结构时序图代码分析模式分析实例简单工厂模式的优点简单工厂模式的缺点适用环境模式应用总结1.1. 模式动机考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在继
Codex修改订单状态逻辑后,为什么所有接口都能正常返回,订单状态却开始出现跳跃、回退和覆盖?本文从状态机、合法状态转换、并发更新和状态日志等方面,解析业务状态“乱跳”的常见原因。
<iframeheight=850width=90%src="http://mctool.wangmingchang.com/index/jspay/dashang"frameborder=0allowfullscreen></iframe>更多精彩文章请关注 王明昌博客...
0x01.定义与类型定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使客户端对单个对象和组合对象保持一致的方式处理组合模式实现的最关键的地方是:简单对象和复合对象必须实现相同的接口,这就是组合模式能够将组合对象和简单对象进行一致处理的原因。类型:结构型UML类图Java实现/*** 组合模式统一接口类*/public interface Component...
我 6 年 Java 后端,转 Agent 也是这么一步步过来的。刚开始我跳过了前面所有步骤,直接去啃 LangGraph 的源码和文档,卡了整整三周,一个能跑的东西都没交出来。那阵子真的怀疑过自己是不是不适合这个方向。后来把顺序倒回来,从"先让模型在我本地跑起来"开始,两周就做出了第一个能演示的东西。
成交价格必须复制到订单项,不能以后总读取商品当前价格,否则商品涨价会改变历史订单。
ChatGPT、Codex加完字段校验后,为什么接口一直正常,数据库却还是不断出现空值、非法状态和异常数据?本文从前端校验、后端API、默认值、数据库约束和业务不变量等方面,解析脏数据持续产生的真正原因。
ChatGPT、Codex把真实删除改成软删除后,为什么旧数据还会重新出现在搜索、关联查询或注册流程里?本文从查询过滤、唯一约束、JOIN和恢复逻辑等方面,解析软删除最容易遗漏的工程问题。
ChatGPT、Codex修改金额计算后,为什么每一笔单独看都正确,最终总账却总是差一点?本文从浮点精度、Decimal、整数分、舍入规则和汇总顺序等方面,解析金额计算最容易隐藏的工程问题。
本文所介绍的内网穿透技术相关的实现方式其实在我们的日常开发生活中有更多的使用场景,当我们深入了解了当前 IP 地址以及内外网的实现方式后,我们不难发现,当我们将内网穿透的图片稍加修改后就成为了我们常用的另一种功能的实现方式(VPN实现原理):原文作者:内网穿透你真的了解吗?- 掘金。
后端开发
——后端开发
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net