Java 性能优化实战 第 2 篇:如何定位性能瓶颈2025-11-28实用教程/JAVA/学习心得Java/Linux/Gc本文提出性能优化的核心在于精准定位瓶颈,而非盲目调整。文章系统性地介绍了从Linux系统层、JVM层到业务代码层的三层排查法,并提供了具体工具与关键指标,如使用top、jstat、Arthas等快速诊断CPU、内存、线程及数据库问题。核心结论是:遵循标准排查流程,先定位再优化,可解决90%的线上性能问题。2025-11-28|53|0|0
Redis 分布式锁:原理、实现与最佳实践2025-08-052025-08-05实用教程/学习心得/JAVA/SpringbootJava/Redis本文详细介绍了Redis分布式锁在高并发系统中的应用,重点解析了其核心原理、实现方式及优化方案。基础实现通过`SETNX`和`EXPIRE`命令,但存在原子性问题;改进方案采用`SET NX EX`原子操作,并结合UUID与Lua脚本确保安全释放。进阶优化包括Redisson的WatchDog自动续期、可重入锁及RedLock多节点高可用方案。文章总结了常见问题(如死锁、误删)的解决方案,并推荐简单场景使用`SET NX EX`+Lua,复杂场景采用Redisson。最终强调合理使用Redis锁可提升系统稳定性与性能。2025-08-05|73|0|3
Java Swing应用集成Google Authenticator双因素认证完整教程2025-08-052025-09-18实用教程/学习心得Java/swing/2FA本教程详细介绍了如何在Java Swing桌面应用中集成基于TOTP协议的双因素认证(2FA)功能,实现与Google Authenticator的兼容。文章阐述了TOTP每30秒更新6位验证码的工作原理,提供了从生成密钥、创建认证URL、生成二维码到验证代码的完整代码示例。教程包含Swing界面的具体集成方法、数据库设计、所需依赖及测试部署流程,并给出了密钥加密存储、尝试次数限制等安全增强建议,为开发安全的桌面应用提供了实用指南。2025-08-05|97|0|3
hql 使用query.list()为空指针异常 ,但是数据库可以查出结果2025-03-162025-03-26JAVA/Springboot/学习心得Springboot/hibernate文章针对Hibernate中使用HQL查询时,`query.list()`方法抛出空指针异常但数据库能查出结果的问题,指出核心原因是Hibernate配置中数据库方言设置错误。关键解决方案是检查并正确配置对应的数据库方言,例如Oracle应使用`org.hibernate.dialect.OracleDialect`。文中还提供了多种常见数据库的方言配置参考,以帮助开发者避免此类问题。2025-03-16|368|1|3