2022 年归档

按发布时间查看文章。

Lock

使用注解形式实现 Redis 分布式锁

本文介绍了一种基于Redis的分布式锁实现,通过AOP切面和注解驱动,确保耗时操作的并发安全。核心包括加锁、续时和释放锁机制,使用定时线程池定期延长锁过期时间,防止任务未完成时锁提前释放,并提供了完整的代码示例和测试验证。

Redis

RedisTemplate常用方法总结

本文总结了RedisTemplate的常用方法,旨在帮助开发者将其封装为业务工具类(如RedisUtil)。内容涵盖了Redis五种主要数据类型(String、Hash、List、Set、zSet)的核心操作,包括键值存取、删除、过期设置及各类数据结构的特定API,为日常开发中的缓存操作提供了实用参考。

Cache

小白也能看懂的缓存雪崩、穿透、击穿

缓存雪崩是大面积key同时失效,可通过加随机过期时间分散;缓存击穿是热点key突然失效,应加强代码审查与权限管理;缓存穿透是查询不存在数据,需做参数校验并用布隆过滤器拦截。同时需保证Redis高可用,并结合业务设计降级方案。

ThreadLocal

面试官:谈谈你对ThreadLocal的理解?

ThreadLocal是Java中提供线程局部变量的工具,可实现线程间的数据隔离。每个Thread内维护一个ThreadLocalMap,以ThreadLocal为键、局部变量为值。使用时需及时调用remove方法,避免因Entry键弱引用回收而值未回收导致的内存泄漏。适用于线程内数据传递与事务管理场景。

Leak

记一次dump文件分析历程

核心服务内存溢出,分析发现是File.deleteOnExit()方法导致内存泄漏。该方法将临时文件路径存入LinkedHashSet,直到JVM关闭才删除,造成内存累积。建议改用File.delete()立即删除文件。

没有搜索结果

发现新版本

网站已经更新,刷新页面后即可使用最新内容。