缓存

首页 标签 缓存
# 缓存 #
关注
63402内容
|
11小时前
|
@RefreshScope热更新原理
@RefreshScope通过组合@Scope("refresh")实现配置热更新,其核心是利用动态代理与缓存机制。标注该注解的Bean会被放入自定义refresh scope缓存,配置变更时清空缓存,触发Spring重新创建Bean实例,从而重新注入最新配置值,实现毫秒级动态刷新。
|
11小时前
|
非线性结构检索:数据频繁变化的情况下,如何高效检索?
本文通过文件检索路径引出树状非线性结构的优势,探讨如何提升动态数据的检索效率。重点分析二叉检索树与跳表如何通过平衡划分检索空间实现接近O(log n)的查找性能,并对比有序数组的优劣,揭示不同场景下的数据结构选择策略。
|
11小时前
|
线程池
本文深入剖析了Java线程池的核心原理,涵盖ThreadPoolExecutor与ScheduledThreadPoolExecutor的实现机制,解析了线程复用、任务调度及延迟队列等关键技术,并探讨了Executors工具类和ThreadLocal的使用与设计思想。
|
11小时前
|
One Trick Per Day
本文介绍Java开发中的6大关键规范:避免HashMap初始化大小误区,禁用Executors创建线程池以防OOM,Arrays.asList后不可进行修改操作,遍历Map应使用entrySet提升性能,SimpleDateFormat不应定义为static以保证线程安全,并发修改记录需加锁控制。遵循这些实践可有效提升系统稳定性与性能。
|
11小时前
|
🔥 高频面试题汇总
本文系统梳理了大模型核心技术,涵盖Transformer架构、训练优化、推理部署及显存估算等关键主题,并结合面试场景提供回答框架与实战计算题解析,助力深入理解与高效表达。
|
11小时前
|
One Trick Per Day
初始化Map应避免直接指定大小,建议用Guava的`newHashMapWithExpectedSize`或手动计算容量。禁用Executors创建线程池,易因无界队列或过多线程引发OOM,应显式使用`ThreadPoolExecutor`并设合理参数。`Arrays.asList`返回不可变列表,禁止修改操作。遍历Map优先使用`entrySet`或JDK8的`forEach`提升性能。`SimpleDateFormat`非线程安全,应避免static共享,推荐ThreadLocal或Java 8新时间API。并发更新记录需加锁,推荐乐观锁(version控制)重试机制,冲突率低时更优。
|
11小时前
|
SpringCloud自定义注释
本文介绍Spring中自定义注解的实现,结合AOP完成日志记录,并通过过滤器实现登录权限控制。涵盖注解定义、元注解说明、切面处理及实际应用,适用于日志、权限、验证等场景,展示完整代码流程与使用示例。
|
11小时前
|
自定义注解
本文介绍如何在Spring框架中通过自定义注解结合AOP与过滤器实现日志、权限控制等功能。涵盖注解定义(@Target、@Retention)、AOP拦截及登录鉴权注解@Login的实战应用,提升代码可读性与复用性。
|
11小时前
|
自定义注解
本文介绍基于Spring AOP实现自定义注解的完整流程,涵盖注解定义、@Target与@Retention等元注解说明,并结合Controller演示日志、权限控制等场景。通过AOP与过滤器实现登录验证,展示@Login注解在实际项目中的应用,适用于日志、鉴权、缓存等场景。
|
11小时前
|
一场FullGC故障排查
本文记录了一次线上CPU使用率异常升至104%的排查过程。通过分析发现,问题根源为频繁Full GC导致CPU飙升,而机器内存监控未明显升高,易造成误判。进一步使用JProfiler分析JVM堆内存,定位到大对象(List<Map>)占用近900MB空间,源于将Excel数据加载至内存并结构化存储,导致内存膨胀。结合代码逻辑分析,提出“激进治疗”(数据存入Redis)与“保守治疗”(减少冗余字段)两类解决方案,并总结了从监控识别到根因定位的完整排查思路,强调应关注JVM而非仅机器层面监控,对类似性能问题具有较高参考价值。
免费试用