标签

Springboot

学吧,学无止境,太深了
本文整理了 Java、Spring、数据库与项目实践中的常见知识点:包括双亲委派、JDK版本含义、instanceof、VO/DTO区别、事务回滚、常用注解、异步执行、equals原则、Lambda简化写法等;同时总结 MySQL 字符串函数、SQL注入中${}与#{}差异、count区别、联合索引,以及PG序列自增和空间字段SRID处理。还记录了文件导出、拦截器注册、端口占用排查、Redis锁需原子加锁以避免死锁等实践细节。
2025-08-05
|
547
|
1
|
7
学吧,学无止境,太深了
Java 性能优化实战 第 8 篇:Redis 性能优化与高并发热点缓存设计(上)
本文系统分析了Redis在高并发场景下的性能瓶颈与优化策略。Redis性能优势源于纯内存访问、单线程模型和I/O多路复用。常见问题包括大Key、热点Key和缓存雪崩/击穿/穿透。核心解决方案涉及Key设计规范(如业务:模块:对象格式)、热点数据打散、多级缓存(本地+Redis)及合理设置过期策略。生产环境应避免使用KEYS命令,推荐Pipeline批量操作和allkeys-lru内存淘汰策略,以提升系统稳定性和吞吐量。
2025-12-23
|
78
|
1
|
1
Java 性能优化实战 第 8 篇:Redis 性能优化与高并发热点缓存设计(上)
Java 性能优化实战 第 7 篇:MySQL 性能优化必修课
本文系统阐述了MySQL性能优化的核心方法论。文章指出数据库是后端性能的主要瓶颈,优化的核心在于减少扫描行数、I/O和锁争用。重点讲解了高性能索引的设计原则(如高区分度、联合索引顺序)、通过慢查询日志定位问题、以及利用EXPLAIN分析执行计划(关注索引使用、扫描行数和Using Filesort/Temporary等关键信息)。最后提供了避免索引失效的实战案例和高性能SQL写法模板,强调一切优化的根本目标是让MySQL扫描更少的行。
2025-12-09
|
38
|
0
|
1
Java 性能优化实战 第 7 篇:MySQL 性能优化必修课
Java Virtual Threads(虚拟线程)教程:Loom 未来路线图与结构化并发深入解析(第 6 篇)
本文前瞻性地解析了Project Loom的最终目标与未来路线图。其核心是通过虚拟线程、结构化并发及Continuations三大组件,使Java并发编程回归同步风格的简洁写法,同时获得异步性能。重点介绍了结构化并发(如`StructuredTaskScope`)如何以同步方式管理并行任务生命周期,实现自动错误传播与取消。未来,Loom将持续完善API、优化调度器,并深度结合云原生场景,旨在让Java成为高并发时代最易用的语言。
2025-11-24
|
52
|
0
|
0
Java Virtual Threads(虚拟线程)教程:Loom 未来路线图与结构化并发深入解析(第 6 篇)
Java Virtual Threads(虚拟线程)教程:进阶调优与性能压测指南(第 5 篇)
本文是Java虚拟线程系列的第5篇,聚焦生产环境性能优化。核心观点是虚拟线程本身无需调优,关键在于优化代码阻塞点与运行环境。文章指出应避免使用重量级锁、执行CPU密集型任务、频繁创建大对象,并确保底层I/O调用可挂起。同时强调需防止外部资源池(如数据库连接池)成为新瓶颈。提供了性能压测方法,推荐使用ZGC,并总结了生产环境调优策略与完整检查清单,帮助工程师系统提升虚拟线程在高并发场景下的性能表现。
2025-11-24
|
58
|
0
|
0
Java Virtual Threads(虚拟线程)教程:进阶调优与性能压测指南(第 5 篇)
Java Virtual Threads(虚拟线程)教程:Spring Boot 实战(第 4 篇)
本文详细介绍了在Spring Boot 3+中全面启用虚拟线程进行全链路优化的实践方法。通过配置Tomcat直接使用虚拟线程执行器,可使Web层吞吐量显著提升。文章指出,Controller至Repository层代码无需改动即可自动运行于虚拟线程,并强调数据库连接池是主要瓶颈,建议适当调大或采用R2DBC。压测数据显示,虚拟线程在I/O密集场景下吞吐量比传统线程池高3~20倍,且内存消耗更低,实现了同步写法与异步高性能的结合。
2025-11-22
|
181
|
0
|
0
Java Virtual Threads(虚拟线程)教程:Spring Boot 实战(第 4 篇)
使用Arthas连接远程Java进程
本文介绍了使用Arthas诊断工具连接远程Java进程的四种方法:1)通过WebSocket直接连接,需在远程启动Arthas后本地访问3658端口或8563接口;2)通过SSH隧道建立安全连接;3)直接远程attach目标进程;4)在大规模环境中使用Arthas Tunnel Server集中管理。文章强调需确保防火墙开放端口(默认3658/8563),生产环境推荐SSH隧道或Tunnel Server以确保安全,连接后即可执行完整的诊断操作。
2025-08-05
|
117
|
0
|
3
使用Arthas连接远程Java进程
hql 使用query.list()为空指针异常 ,但是数据库可以查出结果
文章针对Hibernate中使用HQL查询时,`query.list()`方法抛出空指针异常但数据库能查出结果的问题,指出核心原因是Hibernate配置中数据库方言设置错误。关键解决方案是检查并正确配置对应的数据库方言,例如Oracle应使用`org.hibernate.dialect.OracleDialect`。文中还提供了多种常见数据库的方言配置参考,以帮助开发者避免此类问题。
2025-03-16
|
362
|
1
|
3
hql 使用query.list()为空指针异常 ,但是数据库可以查出结果
Swagger2简单使用教程
本文介绍了Swagger2的基本使用教程,重点讲解了其在前后端分离开发中统一API文档标准的作用。文章详细列举了常用注解如@Api、@ApiOperation、@ApiParam等的使用示例,并提供了Maven依赖配置、SpringBoot集成步骤及配置类代码。通过实体类和Controller示例演示了Swagger的实际应用,最后说明通过访问/swagger-ui.html即可查看生成的交互式API文档。该教程帮助开发者快速掌握Swagger2的核心功能,实现规范的API文档管理与测试。
2025-02-26
|
337
|
0
|
4
Swagger2简单使用教程