ArrayList扩容机制
本文深入分析了Java中ArrayList的add()及扩容机制。添加元素时,先调用ensureCapacityInternal()确保容量,首次添加时默认扩容至10;当元素数量超过当前数组长度时,触发grow()方法,容量扩为原来的1.5倍(通过位运算高效实现)。同时辨析了length、length()和size()的用法区别,帮助理解集合与数组的容量管理。
[舍弃,后续需调整][Blog]JPA实现分页需求(☆☆)
简介:本任务要求在原有博客系统中实现分页查询功能,涉及SpringBoot、MySQL、Maven及JPA技术。建议使用AI辅助开发,预计耗时1-4小时。需自行补充数据以展示分页效果,注重实践而非标准答案,适合通过动手提升技能。
第七章 SpringBoot框架
SpringBoot简化了Spring开发,核心功能包括starter起步依赖、自动配置和内嵌服务器jar运行。通过@EnableAutoConfiguration实现条件化Bean加载,支持自定义starter及多种配置方式,配置优先级为:命令行参数 > 系统属性 > properties > yml/yaml。
Java微服务架构实践:从搭建到优化的全流程指南
本文介绍Java微服务架构的搭建与优化,涵盖服务拆分、Spring Cloud生态、注册发现、配置中心、容错机制及性能提升策略,助力企业构建高效、稳定、可扩展的分布式系统。
Java持久层开发:从JDBC到MyBatis-Plus的演进与实践
本文梳理Java持久层技术演进,从JDBC到Hibernate,再到MyBatis与MyBatis-Plus,解析各阶段核心原理与适用场景,重点介绍MyBatis的灵活SQL控制及MyBatis-Plus的增强功能,如自动CRUD、条件构造器和分页插件,提升开发效率与安全性。
Java并发编程核心原理与实践技巧
本文深入解析Java并发编程核心原理,涵盖线程生命周期、线程安全、synchronized与volatile机制、Lock接口、并发集合及线程池等关键技术,分享规避死锁、资源泄露等实践技巧,助力开发者编写高效、安全的高并发程序。
逐字稿实例(22K*18
李二,3年Java开发经验,熟悉SpringBoot、SpringCloud、MySQL、Redis等技术栈。主导过“触见”买药送药项目,负责AI智能助手、电子处方、优惠券等核心模块设计与实现,具备高并发场景下的系统优化能力。
OOM排查之路:一次曲折的线上故障复盘
本文记录了一次Paimon数据湖与RocksDB集成服务线上频繁OOM的排查历程。通过分析线程激增、堆外内存泄漏,最终定位到RocksDB JNI内存未释放问题,并结合MAT、NMT、async-profiler等工具深入剖析,总结出一套系统化的内存问题排查思路与解决方案。
[Blog]SpringBootExcel导入(☆☆☆)
本任务要求基于SpringBoot、MySQL等技术实现博客系统的Excel导入功能,需掌握POI或EasyExcel,借助AI可1小时完成,手动约4小时。通过真实需求场景培养独立分析与开发能力。
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法进行领域建模,构建数据架构。以风控系统为例,依次解析关键流程、识别时标性原型(MI)、参与方-地点-物品原型(PPT)、角色原型(Role)和描述原型(DESC),最终提炼出ER图,实现从业务到数据模型的转化。
[ERP]SpringBoot集成Swagger技术(☆)
本文介绍如何克隆并运行ERPHome项目代码,涵盖Git仓库拉取、环境配置、Swagger接口文档集成及注解校验等实战步骤,强调新人如何高效请教、规范建分支(如feature-hb-addSwaggerDoc)与提交代码,提升开发效率。
[MES]数据库改造H2到MySQL(☆☆)
本文介绍如何运行克隆项目代码并迁移数据库,涵盖Git、Maven、SpringBoot等技术栈。要求从Gitee克隆代码,配置JDK与Maven环境,运行项目并思考问题解决方式,最终将H2内存库迁移到MySQL,适应实际开发需求。
One Trick Per Day
初始化Map应避免直接指定大小,建议使用Guava的newHashMapWithExpectedSize或手动计算容量。禁止使用Executors创建线程池,易导致OOM,推荐通过ThreadPoolExecutor或Guava方式,明确设置队列与线程数。Arrays.asList返回不可变集合,禁用增删操作。遍历Map优先使用entrySet或JDK8的forEach。SimpleDateFormat非线程安全,避免static共享,可使用ThreadLocal或Java 8新时间API。并发修改记录时,建议采用乐观锁(如version)或加锁机制,冲突概率低时优选乐观锁且重试不少于3次。
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的新配置引发空指针异常,导致全球服务中断超7小时。本文分析其根因,并详解基于Nacos的配置灰度发布方案,包括IP与标签灰度实践,强调灰度发布对系统稳定性的重要意义。
RocketMQ:A2A协议实现多智能体优化
Apache RocketMQ推出专为AI场景设计的轻量级通信模型LiteTopic,通过百万级队列支持海量会话,并结合A2A协议与AgentScope框架,实现多智能体高效、可靠的异步协作,重塑企业级AI应用通信架构。
Java 学习资源精选:从入门到精通的高效资源清单
本文为Java学习者提供从入门到精通的完整资源指南,涵盖各阶段所需视频、书籍、博客、开源项目等优质资源,结合高效学习方法,帮助初学者摆脱“资源焦虑”,科学规划学习路径,快速提升开发能力。
Java学习避坑指南:初学者常犯错误与解决方案
本文总结Java初学者常见的10大误区,涵盖语法死记、思维固化、异常处理缺失、static滥用、集合误用、JVM知识薄弱、框架依赖复制粘贴、代码不规范、缺乏实战及盲目刷题等问题,结合案例分析成因并提供解决方案,助力新手建立正确编程思维,提升学习效率,少走弯路。
MiniMax M2.1开源:多语言编程SOTA,为真实世界复杂任务而生
MiniMax正式开源M2.1模型,全面提升多语言编程、办公自动化与原生App开发能力,支持WebDev、3D渲染、Agent工具链等复杂任务,性能媲美Claude Opus,免费开放体验。
Java开发进阶:从初级工程师到架构师的能力提升路径
本文系统梳理Java开发者从初级工程师到架构师的成长路径,涵盖各阶段技术能力要求与提升方向,强调基础夯实、架构设计、业务理解及软实力培养,为职业进阶提供清晰指引。
Java为何能稳居企业级开发主流语言宝座
Java自1995年诞生以来,凭借跨平台性、强大生态、高安全稳定、丰富人才储备及持续迭代,在企业级开发中始终占据核心地位,广泛应用于金融、电商、大数据等领域,未来仍将保持技术主流地位。
在技术重复工作中,炼出程序员的 “匠心”
程序员的日常充满重复:接口开发、运维巡检、系统优化。但正是在这些看似机械的工作中,蕴藏着技术匠心的成长契机。本文探讨如何将重复任务转化为可复用资产,从熟悉流程中抠出极致细节,并用积累突破能力边界,实现从“完成任务”到“做透技术”的跃迁。
Java 学习进阶书单:从基础到架构,循序渐进提升技术栈
一份涵盖Java基础、并发、JVM、算法、数据库、框架、架构等12大方向的精选书单,每本书均附精准定位与阅读建议,助力Java程序员高效进阶,少走弯路。
2.映射关系(1-1 1-n n-n)
本文介绍MyBatis中四种关联映射:一对一(resultType或resultMap解决字段不一致)、一对多(使用`<collection>`映射集合)、多对一(使用`<association>`映射对象)及多对多(通过中间类结合`<collection>`实现)。适用于处理数据库表与Java对象间的复杂关系。