- 博客(193)
- 收藏
- 关注
原创 蚂蚁Java面试被问:ZGC的Colored Pointer和Load Barrier实现原理
本文介绍了着色指针(Colored Pointer)和读屏障(Load Barrier)技术原理。着色指针通过64位指针的高16位存储4种颜色状态(MARKED0/1、REMAPPED、FINALIZABLE),低42位存储对象地址,实现元数据与指针的集成。读屏障在对象字段读取时触发,根据指针颜色状态进行相应处理(标记更新、转发地址修复等)。系统采用三阶段并发标记转移机制,结合多重内存映射技术,通过颜色位转换实现并发垃圾回收。优化策略包括屏障快速路径、内联优化和CAS并发转移,最终实现亚毫秒级停顿和高吞吐量
2026-01-31 14:27:40
776
原创 Java 25 发布:更简洁、更高效、更现代!我们先来学习下~
Java25作为LTS版本带来多项改进:简化开发(基本类型模式匹配、轻量Main方法、Record增强),优化并发(结构化并发、ScopedValues),提升性能(向量API、紧凑对象头)。新增模块导入、构造函数校验等语法糖,增强JFR监控和安全功能。这些更新使Java更现代化,既降低了新手入门门槛,又为老手提供了更高性能和开发效率。虽然部分项目仍在使用旧版本,但了解新特性有助于把握Java发展方向。
2026-01-31 14:06:43
836
原创 一款被低估的插件:IDEA+JProfiler=性能分析神器
本文介绍了IntelliJ IDEA内置Profiler工具的性能分析方法。该工具集成了AsyncProfiler和JFR技术,可对Java应用的CPU、内存和线程进行低损耗监控。主要功能包括:通过火焰图和调用树定位CPU热点;内存快照分析泄漏问题;线程转储排查死锁;实时监控资源使用。文章提供了SpringBoot项目的具体操作步骤和分析技巧,建议采用对比分析、关注业务代码等方法进行性能优化。该工具降低了性能分析门槛,帮助开发者快速定位和解决响应慢、内存泄漏等常见性能问题。
2026-01-31 13:34:22
1338
原创 SpringBoot多数据源并存思路,它与动态数据源又有什么区别?
本文介绍了多数据源并存模式的应用场景和实现方式。该模式适用于不同业务模块使用不同类型数据库(如MySQL+TDengine)且无需相互切换的场景。实现要点包括:1)为每个数据源独立配置DataSource、Mapper扫描路径和事务管理器;2)通过@Qualifier明确区分不同数据源;3)自定义事务注解确保事务隔离;4)严格分离Mapper和XML文件存放路径。相比动态数据源方案,多数据源并存通过清晰的边界划分,避免了复杂的切换逻辑,使各数据源各司其职,提高了系统稳定性。文章还提供了Druid监控配置、事
2026-01-31 13:33:20
756
原创 Druid 崩了,线上直接炸锅!
摘要:本文详细介绍了在SpringBoot中优化Druid连接池的全方位策略,包括核心参数调优(连接池容量、生命周期管理)、监控体系搭建(SQL统计、Web监控)、安全增强(防SQL注入、密码加密)以及连接泄漏检测等关键环节。文章提供了具体的配置示例和计算公式,强调基于业务场景和监控数据进行动态调整的重要性,并给出生产环境中的避坑指南。最终目标是在连接利用率、性能稳定性和安全性之间找到最佳平衡点。
2026-01-31 13:31:10
560
原创 Seata2.0.0事务回滚失败线上问题排查
摘要:线上生产环境出现Seata分布式事务回滚失败问题,表现为业务操作时触发异常导致死锁。经排查发现,Seata 2.0.0版本存在缺陷,在回滚同一记录的多次修改时未按倒序执行,触发脏写校验异常。临时方案合并数据库操作避免触发回滚,根本解决方案是升级Seata至2.2.0+版本。建议分阶段实施:立即合并操作,1周内优化事务结构,2周内升级Seata版本,并持续验证服务器时钟同步。该问题影响线上环境特定业务场景,需人工介入处理死锁情况。(150字)
2026-01-31 13:29:43
632
原创 SpringBoot 全链路透传:MDC + TraceId 最佳实践
本文介绍了在SpringBoot项目中使用MDC实现traceId的全链路追踪方案。通过MDC的ThreadLocal机制,为HTTP请求、MQ消息、线程池任务和定时任务统一添加traceId标识。具体实现包括:1) 配置logback日志模板添加traceId输出;2) 通过过滤器为HTTP请求设置traceId;3) 封装线程池任务传递MDC上下文;4) 利用RabbitMQ的Advice机制透传traceId;5) 通过AOP为XXL-Job定时任务自动添加traceId。该方案无需额外依赖,能有效提
2026-01-31 13:28:14
839
原创 SpringBoot集成Spring Statemachine(状态机)实战教程
本文介绍了使用Spring State Machine实现借款订单状态流转的方案。通过定义订单状态枚举(APPROVE_PENDING、APPROVE_SUCCESS等)和事件枚举(APPROVE_START、LOAN等),配置状态机转换规则,解决了传统if-else/switch处理状态流转的代码臃肿问题。文章详细展示了: SpringBoot集成状态机的方法 状态定义与事件配置 状态转换的持久化实现 状态恢复机制 扩展实现基于业务条件(如放款金额)的状态分支流转 该方案提供了清晰、可维护的状态管理方式,
2026-01-31 13:26:20
394
原创 中国邮政Java面试被问: MRR(多范围读取)优化和BKA(Batched Key Access)实现
本文深入探讨MySQL的MRR(多范围读取)和BKA(批量键访问)优化技术。MRR通过批量收集键值、排序后顺序读取,有效减少随机IO;BKA则优化嵌套循环连接,批量处理连接键并结合MRR优化内表访问。文章详细分析了两种技术的核心算法、MySQL源码实现及生产级Java实现方案,包括自适应参数调整、混合优化策略和智能批处理技术。最佳实践部分提供了配置推荐、索引设计建议和性能监控方案,预期可提升查询性能30-90%。实施时建议渐进式部署,配合完善的监控体系,根据负载动态调整优化参数,特别适合IO密集型场景的性能
2026-01-31 13:22:41
465
原创 @Transactional做不到的5件事,我用这6种方法解决了
本文介绍了6种比@Transactional更灵活的事务管理方案,解决日常开发中的痛点问题:1. 编程式事务区分业务失败和系统异常;2. @Transactional参数设置隔离级别和超时;3. 事务同步器确保提交后才发MQ;4. 事务事件监听解耦副作用操作;5. 手动控制事务实现批量操作;6. 事务传播机制处理3种常用场景。通过实际代码演示,展示了如何解决库存不足保留订单、MQ消息与事务一致、批量操作部分失败等实际问题,帮助开发者灵活应对复杂事务场景。
2026-01-31 13:20:35
1061
原创 中国邮政Java面试被问:WebSocket的心跳检测和自动重连实现!!
本文介绍了一个健壮的WebSocket客户端实现方案,包含心跳检测、自动重连等核心功能。方案采用完整的心跳机制定期检测连接状态,支持指数退避算法的智能重连策略,提供连接池管理实现多服务器负载均衡和故障转移。系统包含完善的监控告警功能,能实时监控连接状态、延迟等指标,并具备优雅降级能力。实施建议包括根据业务场景调整心跳间隔、合理设置重连参数、添加监控告警等。该方案已在生产环境验证,能有效应对网络不稳定等各种异常情况,确保WebSocket连接的可靠性。
2026-01-30 14:43:43
1031
原创 小红书Java面试被问:使用VarHandle实现内存安全的无锁数据结构
本文介绍了Java中VarHandle在无锁数据结构中的应用。VarHandle相比传统Atomic类具有类型安全、明确内存语义和平台无关性等优势,支持多种访问模式如volatile读/写、CAS操作等。文章详细展示了基于VarHandle实现的无锁栈(TreiberStack)、无锁队列(Michael-Scott队列)和无锁哈希表的代码实现,包括ABA问题防护和批量操作优化。此外还提供了内存布局优化、性能监控等技巧,以及内存语义选择指南和常见陷阱解决方法。VarHandle无锁数据结构兼具高性能与可维护
2026-01-30 14:33:48
1037
原创 求求你们了,别再写满屏的 try catch 了!看如何更优雅地处理异常?
本文探讨了软件开发中如何优雅地实现统一异常处理。通过分析传统try-catch代码块的冗余问题,提出利用Spring的@ControllerAdvice和@ExceptionHandler实现全局异常处理方案。文章详细介绍了如何通过断言(Assert)和枚举类相结合的方式,将业务异常处理抽象为简洁的代码模式,大幅减少冗余代码。同时展示了统一异常处理器的具体实现,包括对Controller前异常、业务异常和未知异常的分类处理,并提供了环境敏感的异常信息返回策略。最后通过实际案例验证了该方案的可行性,实现了95
2026-01-30 14:18:44
615
原创 JDK8 写 10 行,JDK17 写 1 行,我还用它干嘛?
Java 17作为长期支持版本,带来了革命性的语法改进。记录类(Record)简化了数据类的定义,密封类(Sealed Classes)提供了精细的继承控制,模式匹配优化了类型检查和转换,文本块(Text Blocks)让多行字符串处理更优雅。这些特性配合增强的switch表达式、var类型推断等改进,使Java代码更简洁、可读性更高。此外,JDK17还引入了改进的NullPointerException信息、ZGC垃圾收集器等实用功能。这些现代化特性让Java开发者能够编写更高效、更安全的代码,标志着Ja
2026-01-30 14:17:24
929
原创 我司使用了两年的高效日志打印工具,非常好用!
本文提出了一种通过注解和AOP自动填充日志通参的优化方案。针对电商系统中频繁手动添加用户ID和订单ID的繁琐操作,采用Spring AOP结合MDC技术实现自动注入。关键步骤包括:1)使用MDC管理线程上下文变量;2)定义@UserLog注解标注需要自动填充的方法;3)通过切面解析注解并自动将参数值注入MDC。该方案仅需30行核心代码,即可实现日志模板自动填充用户ID和订单ID,显著简化日志记录流程,提高开发效率。最后通过测试验证了方案的有效性,并建议可扩展用于参数日志打印和监控打点等场景。
2026-01-30 14:15:53
259
原创 深入Quartz,更优雅地管理你的定时任务
本文详细介绍了Java定时任务框架Quartz的核心概念和使用方法。主要内容包括:1. Quartz三大核心组件:Job(任务)、Trigger(触发器)和Scheduler(调度器)的基本概念及关系;2. 基础使用示例:基于时间间隔的SimpleTrigger和基于Cron表达式的定时任务实现;3. 进阶应用:多触发器绑定、Job中注入Bean的两种方案(JobDataMap和静态工具类);4. Quartz持久化配置,包括数据库表结构创建和属性文件设置。文章通过工厂车间类比帮助理解Quartz设计思想,
2026-01-30 14:14:56
509
原创 5分钟搞定!SpringBoot 图片验证码集成实战指南
本文介绍了使用SpringBoot实现数学运算图片验证码的完整方案。通过Java Graphics API生成包含加减法运算的验证码图片,提供基于Session和内存存储两种验证方式,解决了跨域访问问题。文章详细讲解了验证码生成、图片绘制、Base64编码、前后端交互等关键技术点,并提供了完整的代码实现、测试方法和扩展建议。该方案能有效防止暴力破解等恶意攻击,适合Java初学者和SpringBoot开发者学习验证码实现原理。
2026-01-30 14:13:36
446
原创 Spring纯注解开发,有点强!!
Spring3.0引入纯注解开发模式极大简化了开发流程。通过@Component及其衍生注解(@Controller、@Service、@Repository)定义Bean,配合@Configuration和@ComponentScan实现纯注解配置,完全替代XML文件。使用@Autowired实现自动注入,@Qualifier解决多实现类冲突,@Value注入简单数据和读取properties配置。Spring整合MyBatis只需配置数据源、SqlSessionFactory和Mapper扫描,显著减少
2026-01-30 14:12:19
710
原创 SpringBoot 自动化数据变更追踪实战方案
本文提出了一种基于Javers+AOP+注解的企业级数据变更审计方案。针对传统手工审计存在的代码重复、维护困难等问题,该方案通过注解标记需要审计的方法,利用AOP切面拦截并自动记录变更,使用Javers进行对象差异比对,实现结构化存储审计日志。系统具备零侵入性、自动化记录、字段级变更追踪等特性,支持创建、更新、删除等操作类型的审计,并提供完整的操作人、时间等元数据。实际应用场景演示了产品信息更新、删除操作等审计日志记录效果,验证了该方案在提升开发效率、降低维护成本方面的优势。
2026-01-30 14:11:09
892
原创 SpringBoot + EasyExcel 导出文件,太香了!
折腾了七年 Excel 导出,从 POI 的磕磕绊绊到 EasyExcel 的丝滑体验,不得不感叹开源工具的伟大。现在每次接到导出需求,我都能淡定地说:"放马过来吧,不管是复杂表头、大数据量还是格式要求,咱这工具都能搞定。"最后送大家一句口诀:EasyExcel 真的妙,注解一标数据跳,工具类里封装好,导出从此没烦恼。复杂需求别害怕,处理器来把忙帮,踩过的坑我来扛,各位兄弟放心上!如果你在整合过程中遇到什么奇怪的问题,欢迎留言交流 —— 毕竟我这七年攒了一箩筐的导出故事,咱们慢慢唠。现在,打开你的
2026-01-30 14:10:03
390
原创 宇树Java面试被问:RocketMQ事务消息的二阶段提交实现
RocketMQ事务消息通过二阶段提交机制解决分布式系统中本地事务与消息发送的一致性问题。第一阶段发送Half消息到Broker并执行本地事务,第二阶段根据事务结果提交或回滚消息。核心机制包括:事务监听器实现本地业务逻辑,Broker定期回查未知状态的事务,以及消费端的幂等处理。典型应用场景包括订单创建与库存扣减等需要保证最终一致性的业务。该方案相比传统方式能有效避免消息丢失或重复问题,需注意合理配置回查参数并确保消费端幂等性处理。
2026-01-29 15:24:12
418
原创 中国邮政Java面试被问:QUIC协议的0-RTT连接和丢包恢复机制
QUIC协议技术解析与优化实践 摘要: 本文深入剖析QUIC协议的核心技术,重点分析其0-RTT连接实现原理、丢包恢复机制和性能优化策略。QUIC通过整合TLS 1.3实现加密与传输层融合,相比TCP+TLS组合显著降低连接延迟(首次连接1-RTT,后续0-RTT)。协议采用改进的ACK机制和快速重传算法提升丢包恢复效率,支持多路复用消除队头阻塞。在HTTP/3应用中,QUIC的0-RTT特性可使页面加载时间缩短30%-50%,特别适合高延迟、高丢包网络环境。文章还提供了连接迁移、拥塞控制算法选择等实战优化
2026-01-29 15:02:18
529
原创 SpringBoot 的这些默认配置不改,100%会踩坑!
SpringBoot的"约定优于配置"设计虽然简化了开发,但其默认配置往往不适合生产环境。本文总结了常见的11个默认配置问题,包括Tomcat线程池、HikariCP连接池、JPA懒加载、Jackson时区、Logback日志、缓存管理、监控端点、文件上传限制、异步线程池、静态资源缓存和事务管理等。这些问题可能导致性能瓶颈、资源耗尽或安全风险,建议开发者根据实际业务需求调整配置。文章提醒开发者不能过度依赖框架默认值,而应主动优化配置以避免生产事故。
2026-01-29 14:26:34
309
原创 为什么数据库连接很消耗资源?
本文通过实验分析了MySQL数据库连接的耗时问题。测试显示,仅建立和关闭一个简单的数据库连接就需要约200ms,包含7次网络往返。以一个日活2万的网站为例,每天仅建立连接就会浪费4小时以上。这充分证明了使用数据库连接池的必要性,同时也提示在大型应用中还需配合SQL预编译、缓存和负载均衡等优化措施。实验结果表明,频繁创建数据库连接会带来严重的性能损耗,开发者应当避免这种操作方式。
2026-01-29 14:25:21
427
原创 Jenkins+Docker一键自动化部署JavaSpringBoot应用最简流程
本文详细介绍了在CentOS7环境下使用Docker部署Jenkins,并结合Git和Maven实现SpringBoot项目的自动化部署流程。主要内容包括:1)安装配置Docker和Jenkins;2)初始化Jenkins并安装必要插件;3)创建构建任务,配置源码管理和Maven构建;4)通过Dockerfile打包镜像并运行项目。文中提供了完整的命令和配置步骤,并强调了常见问题的解决方法,如端口冲突处理、依赖下载失败重试等。该方案实现了从代码提交到自动构建部署的一键式流程,适合需要持续集成部署的开发场景。
2026-01-29 14:23:52
532
原创 搞定 Nginx 生产部署:避坑指南 + 最佳实践
总结:Nginx 摸鱼指南• 反向代理: 藏好后端 IP,安心摸鱼不怕攻击• 负载均衡: 流量均分,再也不用背锅服务器崩了• 静态资源: 让 Nginx 处理图片 JS,后端专注写接口• 限流防刷: 恶意请求全拦下,日志清净心情好• HTTPS: 小绿锁一挂,产品经理笑哈哈记住:Nginx 配置不是一次性的!上线后要根据服务器压力、用户反馈动态调整,比如大促时加大限流阈值,发现恶意 IP 及时拉黑。最后送大家一句摸鱼箴言:代码可以慢慢写,Nginx 必须稳如狗;配置写对了,摸鱼才
2026-01-29 14:20:58
216
原创 枚举还能这么玩?用它彻底干掉丑陋的if-else链,代码瞬间清爽!
本文介绍了如何使用Java枚举替代冗长的if-else语句来处理多支付渠道场景。通过将支付逻辑封装在枚举中,实现代码解耦和扩展性提升。文章对比了传统if-else写法的弊端,并给出了三种优化方案:1) 枚举持有函数式接口;2) 枚举结合Spring Bean;3) 使用Map注册策略模式。最佳实践展示了如何通过枚举实现开闭原则,使新增支付方式只需添加枚举项而不修改原有代码。最后强调枚举是改善代码设计的有效工具,能显著提升可维护性和可扩展性。
2026-01-29 14:18:19
58
原创 Spring Boot 如何防护 XSS + SQL 注入攻击 ?终于懂了!
上述代码已经可以完成 请求参数、JSON请求体 的过滤,但对于json请求体还有其他的方式实现,有兴趣的请看下面的扩展!扩展:还可以重写spring中的MappingJackson2HttpMessageConverter来过滤Json请求体因为请求体在进出Contoroller时,会经过MappingJackson2HttpMessageConverter的一个转换,把请求体转换成我们需要的json格式,所以可以在这里边做一些修改!
2026-01-29 14:17:14
305
原创 公司新来一个干练小伙,把 MyBatis 替换成 MyBatis-Plus,上线后被组长怒怼了...
本文分享了两则技术实践中的教训案例。第一则讲述将MyBatis升级为MyBatis-Plus过程中遇到的LocalDateTime类型转换异常,分析发现是MyBatis 3.5.1版本变更和mysql-connector-java版本不兼容导致。第二则描述修复文件校验逻辑时,意外暴露了历史脏数据问题,原本能兼容的"错误"逻辑被修正后反而导致生产异常。两个案例共同启示:系统升级或修改需谨慎评估影响,充分测试,避免"修复一个Bug引发更多问题"的情况。作者最后建议:非必要
2026-01-29 14:14:14
547
原创 我带的外包兄弟放弃大厂转正,薪资翻倍入职字节
国庆节的时候,收到一位粉丝的私信求助。一来一回聊了半天,我发现了一个很多技术兄弟的通病——我们称之为「收藏夹式努力」。水文看不上,只想让大佬推荐技术宝典,一旦拿到手,焦虑感削弱,宝典就在收藏夹里吃灰,下了班照样峡谷开黑。当你想督促他深入研究时,他又会用「他是大佬,我不是,我做不到」来给自己设限,最终陷入「持续焦虑,持续躺平」的恶性循环。这种惰性,是人之常情。但人和人之间的差距,就在于如何对抗它。这让我想起了我去年带过的一个外包兄弟,小汪。坦白说,他刚来的时候,也和这位粉丝一样,技术普通,满脸焦虑。
2026-01-29 13:08:23
587
原创 同城旅行Java面试被问:方法句柄(MethodHandle)与反射的性能对比和底层区别
本文对比分析了Java反射(Reflection)和方法句柄(MethodHandle)的核心差异。反射API提供运行时动态访问能力但性能较低,每次调用都需安全检查;MethodHandle则在Java7引入,通过invokedynamic机制实现接近直接调用的高性能。测试显示MethodHandle.invokeExact耗时仅为反射的1/3,且支持JIT优化内联。反射适合框架开发等需要灵活性的场景,而MethodHandle更适用于高性能调用和动态语言实现。建议现代Java开发优先考虑MethodHan
2026-01-28 15:35:48
385
原创 面试官:你的项目哪里用到了 Disruptor?
Disruptor是由LMAX开发的高性能内存队列,获得2011年Duke选择大奖。它解决了JDK内置线程安全队列的性能和内存安全问题,实现无锁且线程安全的有界队列。文章介绍了Disruptor的5个典型应用场景:1)广播模式,支持消息多播;2)日志收集,多个消费者并行处理;3)责任链模式,支持链式消息处理;4)多任务协作,实现任务并行与同步;5)多消费者组,支持组间并行消费。Disruptor通过灵活的消费者组合方式,在保证高性能的同时提供了丰富的应用场景。
2026-01-28 14:49:32
423
原创 使用VarHandle实现内存安全的无锁数据结构
本文介绍了Java中VarHandle的核心概念及其在无锁并发编程中的应用。主要内容包括:1. VarHandle的基本使用,展示如何替代Atomic类实现原子操作;2. 内存顺序模式(volatile/opaque/release/acquire)及其应用场景;3. 无锁数据结构的实现,包括栈、队列、哈希表和对象池;4. 性能优化技巧和内存屏障的使用;5. 关键注意事项,如ABA问题解决方案和平台兼容性。通过对比VarHandle与Atomic类的特性,文章指出VarHandle在性能和控制灵活性上的优势
2026-01-28 14:48:36
176
原创 看看人家的单点登录认证系统,确实清新优雅!
MaxKey是一款开源的单点登录(SSO)认证系统,支持OAuth2.x、SAML2.0等多种标准协议。系统提供身份管理(IDM)、权限控制(RBAC)等功能,具有企业级安全特性,包括二次密码验证、会话超时管理、防暴力破解机制等。采用双因素认证和BCrypt加密算法确保密码安全,支持多租户管理,适用于医疗、金融等行业。基于JavaEE平台开发,具备微服务架构,具有平台无关性和良好的扩展性。
2026-01-28 14:43:20
441
原创 Java8的Stream流又臭又长,组长推荐我用JDFrame!
摘要:JDFrame是一个简化Java8 Stream API的JVM层DataFrame工具,提供类似Spark/Pandas的语义化API。支持链式操作实现数据筛选、聚合、排序、连接等常见操作,如.whereBetween()、.groupBySum()、.join()等。相比原生Stream更简洁,相比Tablesaw等工具支持lambda表达式字段指定。提供SDFrame(惰性求值)和JDFrame(即时求值)两种实现,适用于不同场景。典型用例包括数据统计、缺失值补充、分组排名等,能显著减少样板代码
2026-01-28 14:40:40
436
原创 干掉if-else噩梦!这四种设计模式太优雅了!!
本文探讨了四种优雅的设计模式来优化代码中常见的"条件爆炸"问题:策略模式通过封装算法实现灵活切换,SPI机制实现服务动态发现,责任链模式实现处理流程链式传递,规则引擎实现业务规则动态管理。这些模式分别适用于不同场景,如支付策略选择、插件化架构、多账户组合支付和营销规则配置。核心设计原则包括单一职责、开闭原则、高内聚低耦合和KISS原则。建议根据具体业务场景选择最适合的方案,而非一味追求技术新颖,最终目标是编写可维护、可扩展的高质量代码。
2026-01-28 14:38:28
500
原创 MySQL 被干成老二了?
PostgreSQL 的强大毋庸置疑,但技术的选型并非一场零和游戏。对于许多功能需求相对简单的 CRUD 类型应用来说,PostgreSQL 的高级特性可能并无用武之地,反而会带来不必要的学习曲线和维护负担。因此,与其争论谁优谁劣,不如回归业务本身。MySQL 依然是中小型应用的可靠基石,而 PostgreSQL 则以其卓越的扩展性和对新兴场景(尤其是 AI)的友好支持,为面向未来的复杂应用提供了更广阔的想象空间。没有银弹,适合你的才是最好的!
2026-01-28 14:36:41
227
原创 IDEA 终于能爽用 Claude Code了!!
《在IDEA中通过ACP协议集成ClaudeCode的实践指南》 摘要:本文详细介绍了如何在JetBrains IDEA中通过ACP(AgentClient Protocol)协议集成ClaudeCode AI工具。ACP作为新兴的开放协议,可实现AI代理与IDE的无缝对接,解决了以往需要单独开发适配器的问题。文章从ACP的基本原理讲起,逐步演示了安装claude-code-acp适配器、配置acp.json文件等具体步骤,并对比了ACP方式与内置Agent的优劣势。特别指出ACP方式支持完整的MCP工具链
2026-01-28 14:35:30
2190
1
原创 Spring Boot + MybatisX = 王炸!!
MybatisX是一款基于IntelliJ IDEA的Mybatis/Mybatis-Plus开发插件,能够显著提升开发效率。它通过自动生成实体类、Mapper、Service等代码,简化了持久层开发流程。使用步骤包括:安装插件、配置数据库连接、设置时区(GMT)、通过右键菜单生成代码框架。配合Mybatis-Plus的条件构造器,可以快速实现数据库操作。该工具有效减少了重复编码工作,使开发者能够更专注于业务逻辑实现。
2026-01-28 14:29:54
390
原创 不可思议!平均执行耗时仅1.5ms的接口在超时时间100ms下成功率竟然还不到5个9!!
摘要 本文分析了某RPC接口(平均耗时1.5ms)在100ms超时配置下仍出现大量超时的问题。通过监控发现,业务逻辑和框架均存在长尾耗时(如GC、CPU时间片分配导致偶发100ms+延迟)。解决方案提出弹性超时机制,允许少量请求在可配时间内延长超时阈值,实验显示该方法有效消除偶发超时。研究揭示了低均值接口仍可能因系统抖动产生长尾现象,为高可用服务设计提供了新思路。
2026-01-28 14:23:49
560
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅